<html>
<head><script>
var $gwt_version = "2.0.0";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $strongName = '53C85A52D86CB556DA2BCE250D6018E7';
var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null,
$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
$stats && $stats({moduleName:'axwax',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
</script></head>
<body>
<script><!--
var _;
function nullMethod(){
}

function equals(other){
  return this === (other == null?null:other);
}

function getClass_0(){
  return Ljava_lang_Object_2_classLit;
}

function hashCode_0(){
  return this.$H || (this.$H = ++sNextHashId);
}

function toString_0(){
  return (this.typeMarker$ == nullMethod || this.typeId$ == 2?this.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName + '@' + toPowerOfTwoString(this.typeMarker$ == nullMethod || this.typeId$ == 2?this.hashCode$():this.$H || (this.$H = ++sNextHashId), 4);
}

function Object_0(){
}

_ = Object_0.prototype = {};
_.equals$ = equals;
_.getClass$ = getClass_0;
_.hashCode$ = hashCode_0;
_.toString$ = toString_0;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
_.typeId$ = 1;
function $Throwable(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function $Throwable_0(this$static, message, cause){
  $fillInStackTrace();
  this$static.cause = cause;
  this$static.detailMessage = message;
  return this$static;
}

function $initCause(this$static, cause){
  if (this$static.cause) {
    throw $IllegalStateException_0(new IllegalStateException, "Can't overwrite cause");
  }
  if (cause == this$static) {
    throw $IllegalArgumentException_0(new IllegalArgumentException, 'Self-causation not permitted');
  }
  this$static.cause = cause;
  return this$static;
}

function $setStackTrace(stackTrace){
  var c, copy, i;
  copy = initDim(_3Ljava_lang_StackTraceElement_2_classLit, 0, 18, stackTrace.length, 0);
  for (i = 0 , c = stackTrace.length; i < c; ++i) {
    if (!stackTrace[i]) {
      throw $NullPointerException(new NullPointerException);
    }
    copy[i] = stackTrace[i];
  }
}

function $toString(this$static){
  var className, msg;
  className = this$static.getClass$().typeName;
  msg = this$static.getMessage();
  if (msg != null) {
    return className + ': ' + msg;
  }
   else {
    return className;
  }
}

function getClass_1(){
  return Ljava_lang_Throwable_2_classLit;
}

function getMessage(){
  return this.detailMessage;
}

function toString_1(){
  return $toString(this);
}

function Throwable(){
}

_ = Throwable.prototype = new Object_0;
_.getClass$ = getClass_1;
_.getMessage = getMessage;
_.toString$ = toString_1;
_.typeId$ = 3;
_.cause = null;
_.detailMessage = null;
function $Exception(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_2(){
  return Ljava_lang_Exception_2_classLit;
}

function Exception(){
}

_ = Exception.prototype = new Throwable;
_.getClass$ = getClass_2;
_.typeId$ = 4;
function $RuntimeException(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_3(){
  return Ljava_lang_RuntimeException_2_classLit;
}

function RuntimeException(){
}

_ = RuntimeException.prototype = new Exception;
_.getClass$ = getClass_3;
_.typeId$ = 5;
function $JavaScriptException(this$static, e){
  $fillInStackTrace();
  this$static.e = e;
  $createStackTrace(this$static);
  return this$static;
}

function getClass_4(){
  return Lcom_google_gwt_core_client_JavaScriptException_2_classLit;
}

function getDescription(e){
  if (e != null && e.typeMarker$ != nullMethod && e.typeId$ != 2) {
    return getDescription0(dynamicCastJso(e));
  }
   else {
    return e + '';
  }
}

function getDescription0(e){
  return e == null?null:e.message;
}

function getMessage_0(){
  return this.message_0 == null && (this.name_0 = getName(this.e) , this.description = getDescription(this.e) , this.message_0 = '(' + this.name_0 + '): ' + this.description + getProperties(this.e) , undefined) , this.message_0;
}

function getName(e){
  if (e == null) {
    return 'null';
  }
   else if (e != null && e.typeMarker$ != nullMethod && e.typeId$ != 2) {
    return getName0(dynamicCastJso(e));
  }
   else if (e != null && canCast(e.typeId$, 1)) {
    return 'String';
  }
   else {
    return (e.typeMarker$ == nullMethod || e.typeId$ == 2?e.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName;
  }
}

function getName0(e){
  return e == null?null:e.name;
}

function getProperties(e){
  return e != null && e.typeMarker$ != nullMethod && e.typeId$ != 2?getProperties0(dynamicCastJso(e)):'';
}

function getProperties0(e){
  var result = '';
  try {
    for (prop in e) {
      if (prop != 'name' && prop != 'message' && prop != 'toString') {
        try {
          result += '\n ' + prop + ': ' + e[prop];
        }
         catch (ignored) {
        }
      }
    }
  }
   catch (ignored) {
  }
  return result;
}

function JavaScriptException(){
}

_ = JavaScriptException.prototype = new RuntimeException;
_.getClass$ = getClass_4;
_.getMessage = getMessage_0;
_.typeId$ = 6;
_.description = null;
_.e = null;
_.message_0 = null;
_.name_0 = null;
function equals__devirtual$(this$static, other){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.equals$(other):(this$static == null?null:this$static) === (other == null?null:other);
}

function hashCode__devirtual$(this$static){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.hashCode$():this$static.$H || (this$static.$H = ++sNextHashId);
}

function $push(this$static, value){
  this$static[this$static.length] = value;
}

function $push_0(this$static, value){
  this$static[this$static.length] = value;
}

function $clinit_9(){
  var out;
  $clinit_9 = nullMethod;
  escapeTable = (out = ['\\u0000', '\\u0001', '\\u0002', '\\u0003', '\\u0004', '\\u0005', '\\u0006', '\\u0007', '\\b', '\\t', '\\n', '\\u000B', '\\f', '\\r', '\\u000E', '\\u000F', '\\u0010', '\\u0011', '\\u0012', '\\u0013', '\\u0014', '\\u0015', '\\u0016', '\\u0017', '\\u0018', '\\u0019', '\\u001A', '\\u001B', '\\u001C', '\\u001D', '\\u001E', '\\u001F'] , out[34] = '\\"' , out[92] = '\\\\' , out[8232] = '\\u2028' , out[8233] = '\\u2029' , out);
}

function escapeValue(toEscape){
  $clinit_9();
  var s = toEscape.replace(/[\x00-\x1F\u2028\u2029"\\]/g, function(x){
    var lookedUp;
    return lookedUp = escapeTable[x.charCodeAt(0)] , lookedUp == null?x:lookedUp;
  }
  );
  return '"' + s + '"';
}

var escapeTable;
function getClass_6(){
  return Lcom_google_gwt_core_client_Scheduler_2_classLit;
}

function Scheduler(){
}

_ = Scheduler.prototype = new Object_0;
_.getClass$ = getClass_6;
_.typeId$ = 0;
function entry_0(jsFunction){
  return function(){
    return entry0(jsFunction, this, arguments);
  }
  ;
}

function entry0(jsFunction, thisObj, arguments_0){
  var initialEntry;
  initialEntry = entryDepth++ == 0;
  try {
    return jsFunction.apply(thisObj, arguments_0);
  }
   finally {
    initialEntry && $flushFinallyCommands(($clinit_14() , INSTANCE));
    --entryDepth;
  }
}

function getHashCode(o){
  return o.$H || (o.$H = ++sNextHashId);
}

var entryDepth = 0, sNextHashId = 0;
function $clinit_14(){
  $clinit_14 = nullMethod;
  INSTANCE = $SchedulerImpl(new SchedulerImpl);
}

function $SchedulerImpl(this$static){
  $clinit_14();
  this$static.flusher = $SchedulerImpl$1(new SchedulerImpl$1, this$static);
  $SchedulerImpl$2(new SchedulerImpl$2, this$static);
  this$static.deferredCommands = [];
  this$static.incrementalCommands = [];
  this$static.finallyCommands = [];
  return this$static;
}

function $flushFinallyCommands(this$static){
  var oldFinally;
  oldFinally = this$static.finallyCommands;
  this$static.finallyCommands = [];
  runScheduledTasks(oldFinally, this$static.finallyCommands);
}

function $flushPostEventPumpCommands(this$static){
  var oldDeferred;
  oldDeferred = this$static.deferredCommands;
  this$static.deferredCommands = [];
  runScheduledTasks(oldDeferred, this$static.incrementalCommands);
  this$static.incrementalCommands = runRepeatingTasks(this$static.incrementalCommands);
}

function $isWorkQueued(this$static){
  return this$static.deferredCommands.length > 0 || this$static.incrementalCommands.length > 0;
}

function execute(cmd){
  return cmd.execute();
}

function getClass_7(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit;
}

function runRepeatingTasks(tasks){
  var canceledSomeTasks, i, length_0, newTasks, start, t;
  canceledSomeTasks = false;
  length_0 = tasks.length;
  start = (new Date).getTime();
  while ((new Date).getTime() - start < 100) {
    for (i = 0; i < length_0; ++i) {
      t = tasks[i];
      if (!t) {
        continue;
      }
      if (!t[0].execute()) {
        tasks[i] = null;
        canceledSomeTasks = true;
      }
    }
  }
  if (canceledSomeTasks) {
    newTasks = [];
    for (i = 0; i < length_0; ++i) {
      if (!tasks[i]) {
        continue;
      }
      newTasks[newTasks.length] = tasks[i];
    }
    return newTasks;
  }
   else {
    return tasks;
  }
}

function runScheduledTasks(tasks, rescheduled){
  var $e0, i, j, t;
  for (i = 0 , j = tasks.length; i < j; ++i) {
    t = tasks[i];
    try {
      t[1]?t[0].execute() && (rescheduled[rescheduled.length] = t , undefined):$execute(t[0]);
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (!instanceOf($e0, 2))
        throw $e0;
    }
  }
}

function scheduleFixedDelayImpl(cmd, delayMs){
  $clinit_14();
  $wnd.setTimeout(function(){
    var ret = $entry(execute)(cmd);
    ret && $wnd.setTimeout(arguments.callee, delayMs);
  }
  , delayMs);
}

function SchedulerImpl(){
}

_ = SchedulerImpl.prototype = new Scheduler;
_.getClass$ = getClass_7;
_.typeId$ = 0;
_.flushRunning = false;
_.shouldBeRunning = false;
var INSTANCE;
function $SchedulerImpl$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function execute_0(){
  this.this$0.flushRunning = true;
  $flushPostEventPumpCommands(this.this$0);
  this.this$0.flushRunning = false;
  return this.this$0.shouldBeRunning = $isWorkQueued(this.this$0);
}

function getClass_8(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl$1_2_classLit;
}

function SchedulerImpl$1(){
}

_ = SchedulerImpl$1.prototype = new Object_0;
_.execute = execute_0;
_.getClass$ = getClass_8;
_.typeId$ = 0;
_.this$0 = null;
function $SchedulerImpl$2(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function execute_1(){
  this.this$0.flushRunning && scheduleFixedDelayImpl(this.this$0.flusher, 1);
  return this.this$0.shouldBeRunning;
}

function getClass_9(){
  return Lcom_google_gwt_core_client_impl_SchedulerImpl$2_2_classLit;
}

function SchedulerImpl$2(){
}

_ = SchedulerImpl$2.prototype = new Object_0;
_.execute = execute_1;
_.getClass$ = getClass_9;
_.typeId$ = 0;
_.this$0 = null;
function extractNameFromToString(fnToString){
  var index, start, toReturn;
  toReturn = '';
  fnToString = $trim(fnToString);
  index = fnToString.indexOf('(');
  if (index != -1) {
    start = fnToString.indexOf('function') == 0?8:0;
    toReturn = $trim(fnToString.substr(start, index - start));
  }
  return toReturn.length > 0?toReturn:'anonymous';
}

function splice(arr, length_0){
  arr.length >= length_0 && arr.splice(0, length_0);
  return arr;
}

function $createStackTrace(e){
  var i, j, stack, stackTrace;
  stack = $inferFrom(instanceOfJso(e.e)?dynamicCastJso(e.e):null);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, 0, 18, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = $StackTraceElement(new StackTraceElement, 'Unknown', stack[i], 'Unknown source', 0);
  }
  $setStackTrace(stackTrace);
}

function $fillInStackTrace(){
  var i, j, stack, stackTrace;
  stack = splice($inferFrom($makeException()), 2);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, 0, 18, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = $StackTraceElement(new StackTraceElement, 'Unknown', stack[i], 'Unknown source', 0);
  }
  $setStackTrace(stackTrace);
}

function $makeException(){
  try {
    null.a();
  }
   catch (e) {
    return e;
  }
}

function $inferFrom(e){
  var i, j, stack;
  stack = e && e.stack?e.stack.split('\n'):[];
  for (i = 0 , j = stack.length; i < j; ++i) {
    stack[i] = extractNameFromToString(stack[i]);
  }
  return stack;
}

function getClass_10(){
  return Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit;
}

function StringBufferImpl(){
}

_ = StringBufferImpl.prototype = new Object_0;
_.getClass$ = getClass_10;
_.typeId$ = 0;
function getClass_11(){
  return Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit;
}

function StringBufferImplAppend(){
}

_ = StringBufferImplAppend.prototype = new StringBufferImpl;
_.getClass$ = getClass_11;
_.typeId$ = 0;
_.string = '';
function $addClassName(this$static, className){
  var idx, last, lastPos, oldClassName;
  className = $trim(className);
  oldClassName = this$static.className;
  idx = oldClassName.indexOf(className);
  while (idx != -1) {
    if (idx == 0 || oldClassName.charCodeAt(idx - 1) == 32) {
      last = idx + className.length;
      lastPos = oldClassName.length;
      if (last == lastPos || last < lastPos && oldClassName.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldClassName.indexOf(className, idx + 1);
  }
  if (idx == -1) {
    oldClassName.length > 0 && (oldClassName += ' ');
    this$static.className = oldClassName + className;
  }
}

function $removeClassName(this$static, className){
  var begin, end, idx, last, lastPos, newClassName, oldStyle;
  className = $trim(className);
  oldStyle = this$static.className;
  idx = oldStyle.indexOf(className);
  while (idx != -1) {
    if (idx == 0 || oldStyle.charCodeAt(idx - 1) == 32) {
      last = idx + className.length;
      lastPos = oldStyle.length;
      if (last == lastPos || last < lastPos && oldStyle.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldStyle.indexOf(className, idx + 1);
  }
  if (idx != -1) {
    begin = $trim(oldStyle.substr(0, idx - 0));
    end = $trim($substring(oldStyle, idx + className.length));
    begin.length == 0?(newClassName = end):end.length == 0?(newClassName = begin):(newClassName = begin + ' ' + end);
    this$static.className = newClassName;
  }
}

function $clinit_26(){
  $clinit_26 = nullMethod;
  $clinit_28();
  new DOMImplMozilla;
}

function $eventGetKeyCode(evt){
  return evt.which || evt.keyCode || 0;
}

function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function $getNextSiblingElement(elem){
  var sib = elem.nextSibling;
  while (sib && sib.nodeType != 1)
    sib = sib.nextSibling;
  return sib;
}

function getClass_12(){
  return Lcom_google_gwt_dom_client_DOMImpl_2_classLit;
}

function DOMImpl(){
}

_ = DOMImpl.prototype = new Object_0;
_.getClass$ = getClass_12;
_.typeId$ = 0;
function $clinit_27(){
  $clinit_27 = nullMethod;
  $clinit_26();
}

function getClass_13(){
  return Lcom_google_gwt_dom_client_DOMImplStandard_2_classLit;
}

function DOMImplStandard(){
}

_ = DOMImplStandard.prototype = new DOMImpl;
_.getClass$ = getClass_13;
_.typeId$ = 0;
function $clinit_28(){
  $clinit_28 = nullMethod;
  $clinit_27();
}

function $eventGetRelatedTarget(evt){
  var relatedTarget = evt.relatedTarget;
  try {
    var nodeName = relatedTarget.nodeName;
    return relatedTarget;
  }
   catch (e) {
    return null;
  }
}

function $isOrHasChild_0(parent_0, child){
  return parent_0 === child || !!(parent_0.compareDocumentPosition(child) & 16);
}

function $toString_1(elem){
  var doc = elem.ownerDocument;
  var temp = elem.cloneNode(true);
  var tempDiv = doc.createElement('DIV');
  tempDiv.appendChild(temp);
  outer = tempDiv.innerHTML;
  temp.innerHTML = '';
  return outer;
}

function getClass_14(){
  return Lcom_google_gwt_dom_client_DOMImplMozilla_2_classLit;
}

function DOMImplMozilla(){
}

_ = DOMImplMozilla.prototype = new DOMImplStandard;
_.getClass$ = getClass_14;
_.typeId$ = 0;
function $createPushButtonElement(this$static){
  var e;
  return e = ($clinit_26() , this$static).createElement('BUTTON') , e.type = 'button' , e;
}

function $createUniqueId(this$static){
  !this$static.gwt_uid && (this$static.gwt_uid = 1);
  return 'gwt-uid-' + this$static.gwt_uid++;
}

function $clinit_37(){
  $clinit_37 = nullMethod;
  toInject = [];
  toInjectAtEnd = [];
  toInjectAtStart = [];
  flusher = new StyleInjector$1;
}

function flush(which){
  $clinit_37();
  var css, maybeReturn, toReturn;
  toReturn = null;
  if (toInjectAtStart.length != 0) {
    css = toInjectAtStart.join('');
    maybeReturn = $injectStyleSheetAtStart(($clinit_39() , IMPL), css);
    toInjectAtStart == which && (toReturn = maybeReturn);
    toInjectAtStart.length = 0;
  }
  if (toInject.length != 0) {
    css = toInject.join('');
    maybeReturn = $injectStyleSheet(($clinit_39() , IMPL), css);
    toInject == which && (toReturn = maybeReturn);
    toInject.length = 0;
  }
  if (toInjectAtEnd.length != 0) {
    css = toInjectAtEnd.join('');
    maybeReturn = $injectStyleSheet(($clinit_39() , IMPL), css);
    toInjectAtEnd == which && (toReturn = maybeReturn);
    toInjectAtEnd.length = 0;
  }
  needsInjection = false;
  return toReturn;
}

function schedule(){
  if (!needsInjection) {
    needsInjection = true;
    $push(($clinit_14() , INSTANCE).finallyCommands, [flusher, false]);
  }
}

var flusher, needsInjection = false, toInject, toInjectAtEnd, toInjectAtStart;
function $execute(){
  ($clinit_37() , needsInjection) && flush(null);
}

function getClass_15(){
  return Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit;
}

function StyleInjector$1(){
}

_ = StyleInjector$1.prototype = new Object_0;
_.getClass$ = getClass_15;
_.typeId$ = 0;
function $clinit_39(){
  $clinit_39 = nullMethod;
  IMPL = ($clinit_39() , new StyleInjector$StyleInjectorImpl);
}

function $createElement_1(contents){
  var style;
  style = ($clinit_26() , $doc).createElement('style');
  style['language'] = 'text/css';
  style.textContent = contents || '';
  return style;
}

function $getHead(this$static){
  var elt;
  if (!this$static.head) {
    elt = $doc.getElementsByTagName('head')[0];
    this$static.head = elt;
  }
  return this$static.head;
}

function $injectStyleSheet(this$static, contents){
  var style;
  style = $createElement_1(contents);
  $getHead(this$static).appendChild(style);
  return style;
}

function $injectStyleSheetAtStart(this$static, contents){
  var style;
  style = $createElement_1(contents);
  $getHead(this$static).insertBefore(style, this$static.head.firstChild);
  return style;
}

function getClass_16(){
  return Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit;
}

function StyleInjector$StyleInjectorImpl(){
}

_ = StyleInjector$StyleInjectorImpl.prototype = new Object_0;
_.getClass$ = getClass_16;
_.typeId$ = 0;
_.head = null;
var IMPL;
function getClass_17(){
  return Lcom_google_gwt_event_shared_GwtEvent_2_classLit;
}

function toString_3(){
  return 'An event type';
}

function GwtEvent(){
}

_ = GwtEvent.prototype = new Object_0;
_.getClass$ = getClass_17;
_.toString$ = toString_3;
_.typeId$ = 0;
_.dead = false;
_.source = null;
function fireNativeEvent(nativeEvent, handlerSource, relativeElem){
  var currentNative, currentRelativeElem, typeKey;
  if (registered) {
    typeKey = dynamicCast(registered.map[($clinit_26() , nativeEvent).type], 4);
    if (typeKey) {
      currentNative = typeKey.flyweight.nativeEvent;
      currentRelativeElem = typeKey.flyweight.relativeElem;
      typeKey.flyweight.nativeEvent = nativeEvent;
      typeKey.flyweight.relativeElem = relativeElem;
      $fireEvent_1(handlerSource, typeKey.flyweight);
      typeKey.flyweight.nativeEvent = currentNative;
      typeKey.flyweight.relativeElem = currentRelativeElem;
    }
  }
}

function getAssociatedType(){
  return this.getAssociatedType_0();
}

function getClass_18(){
  return Lcom_google_gwt_event_dom_client_DomEvent_2_classLit;
}

function DomEvent(){
}

_ = DomEvent.prototype = new GwtEvent;
_.getAssociatedType = getAssociatedType;
_.getClass$ = getClass_18;
_.typeId$ = 0;
_.nativeEvent = null;
_.relativeElem = null;
var registered = null;
function $clinit_42(){
  $clinit_42 = nullMethod;
  TYPE = $DomEvent$Type(new DomEvent$Type, 'click', ($clinit_42() , new ClickEvent));
}

function dispatch(p0){
  dynamicCast(p0, 3).onClick(this);
}

function getAssociatedType_0(){
  return TYPE;
}

function getClass_19(){
  return Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit;
}

function ClickEvent(){
}

_ = ClickEvent.prototype = new DomEvent;
_.dispatch = dispatch;
_.getAssociatedType_0 = getAssociatedType_0;
_.getClass$ = getClass_19;
_.typeId$ = 0;
var TYPE;
function $GwtEvent$Type(this$static){
  this$static.index_0 = ++nextHashCode;
  return this$static;
}

function getClass_20(){
  return Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit;
}

function hashCode_2(){
  return this.index_0;
}

function toString_4(){
  return 'Event type';
}

function GwtEvent$Type(){
}

_ = GwtEvent$Type.prototype = new Object_0;
_.getClass$ = getClass_20;
_.hashCode$ = hashCode_2;
_.toString$ = toString_4;
_.typeId$ = 0;
_.index_0 = 0;
var nextHashCode = 0;
function $DomEvent$Type(this$static, eventName, flyweight){
  this$static.index_0 = ++nextHashCode;
  this$static.flyweight = flyweight;
  !registered && (registered = $PrivateMap(new PrivateMap));
  registered.map[eventName] = this$static;
  this$static.name_0 = eventName;
  return this$static;
}

function getClass_21(){
  return Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit;
}

function DomEvent$Type(){
}

_ = DomEvent$Type.prototype = new GwtEvent$Type;
_.getClass$ = getClass_21;
_.typeId$ = 7;
_.flyweight = null;
_.name_0 = null;
function getClass_22(){
  return Lcom_google_gwt_event_dom_client_KeyEvent_2_classLit;
}

function KeyEvent(){
}

_ = KeyEvent.prototype = new DomEvent;
_.getClass$ = getClass_22;
_.typeId$ = 0;
function getClass_23(){
  return Lcom_google_gwt_event_dom_client_KeyCodeEvent_2_classLit;
}

function KeyCodeEvent(){
}

_ = KeyCodeEvent.prototype = new KeyEvent;
_.getClass$ = getClass_23;
_.typeId$ = 0;
function $clinit_65(){
  $clinit_65 = nullMethod;
  TYPE_0 = $DomEvent$Type(new DomEvent$Type, 'keydown', ($clinit_65() , new KeyDownEvent));
}

function $dispatch_0(this$static, handler){
  handler.val$state.selected[0] > -1 && handler.val$state.selected[1] > -1 && $keyDownHandler(handler.this$1.this$0, handler.val$result, handler.val$grid, handler.val$state, this$static);
}

function dispatch_0(p0){
  $dispatch_0(this, dynamicCast(p0, 5));
}

function getAssociatedType_1(){
  return TYPE_0;
}

function getClass_24(){
  return Lcom_google_gwt_event_dom_client_KeyDownEvent_2_classLit;
}

function KeyDownEvent(){
}

_ = KeyDownEvent.prototype = new KeyCodeEvent;
_.dispatch = dispatch_0;
_.getAssociatedType_0 = getAssociatedType_1;
_.getClass$ = getClass_24;
_.typeId$ = 0;
var TYPE_0;
function $clinit_67(){
  $clinit_67 = nullMethod;
  TYPE_1 = $DomEvent$Type(new DomEvent$Type, 'keypress', ($clinit_67() , new KeyPressEvent));
}

function $dispatch_1(this$static, handler){
  handler.val$state.selected[0] > -1 && handler.val$state.selected[1] > -1 && $keyPressHandler(handler.this$1.this$0, handler.val$result, handler.val$grid, handler.val$state, $getCharCode(this$static.nativeEvent));
}

function $getCharCode(e){
  return e.charCode || e.keyCode;
}

function dispatch_1(p0){
  $dispatch_1(this, dynamicCast(p0, 6));
}

function getAssociatedType_2(){
  return TYPE_1;
}

function getClass_25(){
  return Lcom_google_gwt_event_dom_client_KeyPressEvent_2_classLit;
}

function KeyPressEvent(){
}

_ = KeyPressEvent.prototype = new KeyEvent;
_.dispatch = dispatch_1;
_.getAssociatedType_0 = getAssociatedType_2;
_.getClass$ = getClass_25;
_.typeId$ = 0;
var TYPE_1;
function $PrivateMap(this$static){
  this$static.map = {};
  return this$static;
}

function getClass_26(){
  return Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit;
}

function PrivateMap(){
}

_ = PrivateMap.prototype = new Object_0;
_.getClass$ = getClass_26;
_.typeId$ = 0;
_.map = null;
function dispatch_2(p0){
  dynamicCast(p0, 7).onClose(this);
}

function fire(source){
  var event_0;
  if (TYPE_2) {
    event_0 = new CloseEvent;
    $fireEvent(source, event_0);
  }
}

function getAssociatedType_3(){
  return TYPE_2;
}

function getClass_27(){
  return Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit;
}

function CloseEvent(){
}

_ = CloseEvent.prototype = new GwtEvent;
_.dispatch = dispatch_2;
_.getAssociatedType = getAssociatedType_3;
_.getClass$ = getClass_27;
_.typeId$ = 0;
var TYPE_2 = null;
function $ValueChangeEvent(this$static, value){
  this$static.value_0 = value;
  return this$static;
}

function $dispatch_3(this$static){
  $onValueChange(this$static);
}

function dispatch_3(p0){
  $dispatch_3(this, dynamicCast(p0, 8));
}

function fire_0(source, value){
  var event_0;
  if (TYPE_3) {
    event_0 = $ValueChangeEvent(new ValueChangeEvent, value);
    $fireEvent(source.handlers, event_0);
  }
}

function getAssociatedType_4(){
  return TYPE_3;
}

function getClass_28(){
  return Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit;
}

function ValueChangeEvent(){
}

_ = ValueChangeEvent.prototype = new GwtEvent;
_.dispatch = dispatch_3;
_.getAssociatedType = getAssociatedType_4;
_.getClass$ = getClass_28;
_.typeId$ = 0;
_.value_0 = null;
var TYPE_3 = null;
function getClass_29(){
  return Lcom_google_gwt_event_shared_DefaultHandlerRegistration_2_classLit;
}

function DefaultHandlerRegistration(){
}

_ = DefaultHandlerRegistration.prototype = new Object_0;
_.getClass$ = getClass_29;
_.typeId$ = 0;
function $HandlerManager(this$static, source){
  this$static.registry = $HandlerManager$HandlerRegistry(new HandlerManager$HandlerRegistry);
  this$static.source = source;
  this$static.isReverseOrder = false;
  return this$static;
}

function $addHandler(this$static, type, handler){
  this$static.firingDepth > 0?$defer(this$static, $HandlerManager$1(new HandlerManager$1, this$static, type, handler)):$addHandler_0(this$static.registry, type, handler);
  return new DefaultHandlerRegistration;
}

function $defer(this$static, command){
  !this$static.deferredDeltas && (this$static.deferredDeltas = $ArrayList(new ArrayList));
  $add_5(this$static.deferredDeltas, command);
}

function $fireEvent(this$static, event_0){
  var oldSource;
  if (event_0.dead) {
    event_0.dead = false;
    event_0.source = null;
  }
  oldSource = event_0.source;
  event_0.source = this$static.source;
  try {
    ++this$static.firingDepth;
    $fireEvent_0(this$static.registry, event_0, this$static.isReverseOrder);
  }
   finally {
    --this$static.firingDepth;
    this$static.firingDepth == 0 && $handleQueuedAddsAndRemoves(this$static);
  }
  if (oldSource == null) {
    event_0.dead = true;
    event_0.source = null;
  }
   else {
    event_0.source = oldSource;
  }
}

function $handleQueuedAddsAndRemoves(this$static){
  var c, c$iterator;
  if (this$static.deferredDeltas) {
    try {
      for (c$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this$static.deferredDeltas); c$iterator.i < c$iterator.this$0.size_0();) {
        c = dynamicCast($next_5(c$iterator), 9);
        $addHandler_0(c.this$0.registry, c.val$type, c.val$handler);
      }
    }
     finally {
      this$static.deferredDeltas = null;
    }
  }
}

function getClass_30(){
  return Lcom_google_gwt_event_shared_HandlerManager_2_classLit;
}

function HandlerManager(){
}

_ = HandlerManager.prototype = new Object_0;
_.getClass$ = getClass_30;
_.typeId$ = 0;
_.deferredDeltas = null;
_.firingDepth = 0;
_.isReverseOrder = false;
_.registry = null;
_.source = null;
function $HandlerManager$1(this$static, this$0, val$type, val$handler){
  this$static.this$0 = this$0;
  this$static.val$type = val$type;
  this$static.val$handler = val$handler;
  return this$static;
}

function getClass_31(){
  return Lcom_google_gwt_event_shared_HandlerManager$1_2_classLit;
}

function HandlerManager$1(){
}

_ = HandlerManager$1.prototype = new Object_0;
_.getClass$ = getClass_31;
_.typeId$ = 8;
_.this$0 = null;
_.val$handler = null;
_.val$type = null;
function $HandlerManager$HandlerRegistry(this$static){
  this$static.map = $HashMap(new HashMap);
  return this$static;
}

function $addHandler_0(this$static, type, handler){
  var l;
  l = dynamicCast($get_4(this$static.map, type), 10);
  if (!l) {
    l = $ArrayList(new ArrayList);
    $put_0(this$static.map, type, l);
  }
  setCheck(l.array, l.size++, handler);
}

function $fireEvent_0(this$static, event_0, isReverseOrder){
  var count, handler, i, type, l, l_0, l_1;
  type = event_0.getAssociatedType();
  count = (l = dynamicCast($get_4(this$static.map, type), 10) , !l?0:l.size);
  if (isReverseOrder) {
    for (i = count - 1; i >= 0; --i) {
      handler = (l_0 = dynamicCast($get_4(this$static.map, type), 10) , dynamicCast((checkIndex(i, l_0.size) , l_0.array[i]), 21));
      event_0.dispatch(handler);
    }
  }
   else {
    for (i = 0; i < count; ++i) {
      handler = (l_1 = dynamicCast($get_4(this$static.map, type), 10) , dynamicCast((checkIndex(i, l_1.size) , l_1.array[i]), 21));
      event_0.dispatch(handler);
    }
  }
}

function getClass_32(){
  return Lcom_google_gwt_event_shared_HandlerManager$HandlerRegistry_2_classLit;
}

function HandlerManager$HandlerRegistry(){
}

_ = HandlerManager$HandlerRegistry.prototype = new Object_0;
_.getClass$ = getClass_32;
_.typeId$ = 0;
--></script>
<script><!--
function $Request(this$static, xmlHttpRequest, timeoutMillis, callback){
  if (!xmlHttpRequest) {
    throw $NullPointerException(new NullPointerException);
  }
  if (!callback) {
    throw $NullPointerException(new NullPointerException);
  }
  if (timeoutMillis < 0) {
    throw $IllegalArgumentException(new IllegalArgumentException);
  }
  this$static.timeoutMillis = timeoutMillis;
  this$static.xmlHttpRequest = xmlHttpRequest;
  if (timeoutMillis > 0) {
    this$static.timer = $Request$3(new Request$3, this$static, callback);
    $schedule(this$static.timer, timeoutMillis);
  }
   else {
    this$static.timer = null;
  }
  return this$static;
}

function $cancel(this$static){
  var xmlHttp;
  if (this$static.xmlHttpRequest) {
    xmlHttp = this$static.xmlHttpRequest;
    this$static.xmlHttpRequest = null;
    $clearOnReadyStateChange(xmlHttp);
    xmlHttp.abort();
    !!this$static.timer && $cancel_0(this$static.timer);
  }
}

function $fireOnResponseReceived(this$static, callback){
  var errorMsg, exception, response, xhr;
  if (!this$static.xmlHttpRequest) {
    return;
  }
  !!this$static.timer && $cancel_0(this$static.timer);
  xhr = this$static.xmlHttpRequest;
  this$static.xmlHttpRequest = null;
  errorMsg = $getBrowserSpecificFailure(xhr);
  if (errorMsg != null) {
    exception = $RuntimeException(new RuntimeException, errorMsg);
    callback.onError(this$static, exception);
  }
   else {
    response = $Request$1(new Request$1, xhr);
    callback.onResponseReceived(this$static, response);
  }
}

function $fireOnTimeout(this$static, callback){
  if (!this$static.xmlHttpRequest) {
    return;
  }
  $cancel(this$static);
  callback.onError(this$static, $RequestTimeoutException(new RequestTimeoutException, this$static.timeoutMillis));
}

function $getBrowserSpecificFailure(xhr){
  try {
    if (xhr.status === undefined) {
      return 'XmlHttpRequest.status == undefined, please see Safari bug http://bugs.webkit.org/show_bug.cgi?id=3810 for more details';
    }
    return null;
  }
   catch (e) {
    return 'Unable to read XmlHttpRequest.status; likely causes are a networking error or bad cross-domain request. Please see https://bugzilla.mozilla.org/show_bug.cgi?id=238559 for more details';
  }
}

function getClass_33(){
  return Lcom_google_gwt_http_client_Request_2_classLit;
}

function Request(){
}

_ = Request.prototype = new Object_0;
_.getClass$ = getClass_33;
_.typeId$ = 0;
_.timeoutMillis = 0;
_.timer = null;
_.xmlHttpRequest = null;
function getClass_34(){
  return Lcom_google_gwt_http_client_Response_2_classLit;
}

function Response(){
}

_ = Response.prototype = new Object_0;
_.getClass$ = getClass_34;
_.typeId$ = 0;
function $Request$1(this$static, val$xmlHttpRequest){
  this$static.val$xmlHttpRequest = val$xmlHttpRequest;
  return this$static;
}

function getClass_35(){
  return Lcom_google_gwt_http_client_Request$1_2_classLit;
}

function Request$1(){
}

_ = Request$1.prototype = new Response;
_.getClass$ = getClass_35;
_.typeId$ = 0;
_.val$xmlHttpRequest = null;
function $clinit_89(){
  $clinit_89 = nullMethod;
  timers = $ArrayList(new ArrayList);
  addCloseHandler(new Timer$1);
}

function $cancel_0(this$static){
  this$static.isRepeating?($wnd.clearInterval(this$static.timerId) , undefined):($wnd.clearTimeout(this$static.timerId) , undefined);
  $remove_8(timers, this$static);
}

function $schedule(this$static, delayMillis){
  if (delayMillis <= 0) {
    throw $IllegalArgumentException_0(new IllegalArgumentException, 'must be positive');
  }
  $cancel_0(this$static);
  this$static.isRepeating = false;
  this$static.timerId = createTimeout(this$static, delayMillis);
  $add_5(timers, this$static);
}

function createTimeout(timer, delay){
  return $wnd.setTimeout($entry(function(){
    timer.fire();
  }
  ), delay);
}

function fire_1(){
  !this.isRepeating && $remove_8(timers, this);
  this.run();
}

function getClass_36(){
  return Lcom_google_gwt_user_client_Timer_2_classLit;
}

function Timer(){
}

_ = Timer.prototype = new Object_0;
_.fire = fire_1;
_.getClass$ = getClass_36;
_.typeId$ = 9;
_.isRepeating = false;
_.timerId = 0;
var timers;
function $clinit_90(){
  $clinit_90 = nullMethod;
  $clinit_89();
}

function $Request$3(this$static, this$0, val$callback){
  $clinit_90();
  this$static.this$0 = this$0;
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_37(){
  return Lcom_google_gwt_http_client_Request$3_2_classLit;
}

function run(){
  $fireOnTimeout(this.this$0, this.val$callback);
}

function Request$3(){
}

_ = Request$3.prototype = new Timer;
_.getClass$ = getClass_37;
_.run = run;
_.typeId$ = 10;
_.this$0 = null;
_.val$callback = null;
function $clinit_91(){
  $clinit_91 = nullMethod;
  GET = $RequestBuilder$Method(new RequestBuilder$Method, 'GET');
  POST = $RequestBuilder$Method(new RequestBuilder$Method, 'POST');
}

function $RequestBuilder(this$static, httpMethod, url){
  $clinit_91();
  $RequestBuilder_0(this$static, !httpMethod?null:httpMethod.name_0, url);
  return this$static;
}

function $RequestBuilder_0(this$static, httpMethod, url){
  $clinit_91();
  throwIfEmptyOrNull('httpMethod', httpMethod);
  throwIfEmptyOrNull('url', url);
  this$static.httpMethod = httpMethod;
  this$static.url = url;
  return this$static;
}

function $doSend(this$static, requestData, callback){
  var $e0, e, request, requestPermissionException, xmlHttpRequest;
  xmlHttpRequest = create_0();
  try {
    xmlHttpRequest.open(this$static.httpMethod, this$static.url, true);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 22)) {
      e = $e0;
      requestPermissionException = $RequestPermissionException(new RequestPermissionException, this$static.url);
      $initCause(requestPermissionException, $RequestException(new RequestException, e.getMessage()));
      throw requestPermissionException;
    }
     else 
      throw $e0;
  }
  $setHeaders(this$static, xmlHttpRequest);
  request = $Request(new Request, xmlHttpRequest, this$static.timeoutMillis, callback);
  $setOnReadyStateChange(xmlHttpRequest, $RequestBuilder$1(new RequestBuilder$1, request, callback));
  try {
    xmlHttpRequest.send(requestData);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 22)) {
      e = $e0;
      throw $RequestException(new RequestException, e.getMessage());
    }
     else 
      throw $e0;
  }
  return request;
}

function $setCallback(this$static, callback){
  throwIfNull('callback', callback);
  this$static.callback = callback;
}

function $setHeader(this$static, header, value){
  throwIfEmptyOrNull('header', header);
  throwIfEmptyOrNull('value', value);
  !this$static.headers && (this$static.headers = $HashMap(new HashMap));
  $put_0(this$static.headers, header, value);
}

function $setHeaders(this$static, xmlHttpRequest){
  var $e0, e, header, header$iterator;
  if (!!this$static.headers && this$static.headers.size > 0) {
    for (header$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, this$static.headers).this$0); $hasNext_3(header$iterator.iter);) {
      header = dynamicCast($next_5(header$iterator.iter), 23);
      try {
        xmlHttpRequest.setRequestHeader(dynamicCast(header.getKey(), 1), dynamicCast(header.getValue(), 1));
      }
       catch ($e0) {
        $e0 = caught_0($e0);
        if (instanceOf($e0, 22)) {
          e = $e0;
          throw $RequestException(new RequestException, e.getMessage());
        }
         else 
          throw $e0;
      }
    }
  }
   else {
    xmlHttpRequest.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
  }
}

function getClass_38(){
  return Lcom_google_gwt_http_client_RequestBuilder_2_classLit;
}

function RequestBuilder(){
}

_ = RequestBuilder.prototype = new Object_0;
_.getClass$ = getClass_38;
_.typeId$ = 0;
_.callback = null;
_.headers = null;
_.httpMethod = null;
_.requestData = null;
_.timeoutMillis = 0;
_.url = null;
var GET, POST;
function $RequestBuilder$1(this$static, val$request, val$callback){
  this$static.val$request = val$request;
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_39(){
  return Lcom_google_gwt_http_client_RequestBuilder$1_2_classLit;
}

function onReadyStateChange(xhr){
  if (xhr.readyState == 4) {
    $clearOnReadyStateChange(xhr);
    $fireOnResponseReceived(this.val$request, this.val$callback);
  }
}

function RequestBuilder$1(){
}

_ = RequestBuilder$1.prototype = new Object_0;
_.getClass$ = getClass_39;
_.onReadyStateChange = onReadyStateChange;
_.typeId$ = 0;
_.val$callback = null;
_.val$request = null;
function $RequestBuilder$Method(this$static, name_0){
  this$static.name_0 = name_0;
  return this$static;
}

function getClass_40(){
  return Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit;
}

function toString_5(){
  return this.name_0;
}

function RequestBuilder$Method(){
}

_ = RequestBuilder$Method.prototype = new Object_0;
_.getClass$ = getClass_40;
_.toString$ = toString_5;
_.typeId$ = 0;
_.name_0 = null;
function $RequestException(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_41(){
  return Lcom_google_gwt_http_client_RequestException_2_classLit;
}

function RequestException(){
}

_ = RequestException.prototype = new Exception;
_.getClass$ = getClass_41;
_.typeId$ = 11;
function $RequestPermissionException(this$static, url){
  $fillInStackTrace();
  this$static.detailMessage = 'The URL ' + url + ' is invalid or violates the same-origin security restriction';
  return this$static;
}

function getClass_42(){
  return Lcom_google_gwt_http_client_RequestPermissionException_2_classLit;
}

function RequestPermissionException(){
}

_ = RequestPermissionException.prototype = new RequestException;
_.getClass$ = getClass_42;
_.typeId$ = 12;
function $RequestTimeoutException(this$static, timeoutMillis){
  $fillInStackTrace();
  this$static.detailMessage = 'A request timeout has expired after ' + timeoutMillis + ' ms';
  return this$static;
}

function getClass_43(){
  return Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit;
}

function RequestTimeoutException(){
}

_ = RequestTimeoutException.prototype = new RequestException;
_.getClass$ = getClass_43;
_.typeId$ = 13;
function throwIfEmptyOrNull(name_0, value){
  throwIfNull(name_0, value);
  if (0 == $trim(value).length) {
    throw $IllegalArgumentException_0(new IllegalArgumentException, name_0 + ' cannot be empty');
  }
}

function throwIfNull(name_0, value){
  if (null == value) {
    throw $NullPointerException_0(new NullPointerException, name_0 + ' cannot be null');
  }
}

function getClass_44(){
  return Lcom_google_gwt_json_client_JSONValue_2_classLit;
}

function isArray(){
  return null;
}

function isBoolean(){
  return null;
}

function isNumber(){
  return null;
}

function isObject(){
  return null;
}

function isString(){
  return null;
}

function JSONValue(){
}

_ = JSONValue.prototype = new Object_0;
_.getClass$ = getClass_44;
_.isArray = isArray;
_.isBoolean = isBoolean;
_.isNumber = isNumber;
_.isObject = isObject;
_.isString = isString;
_.typeId$ = 0;
function $JSONArray(this$static, arr){
  this$static.jsArray = arr;
  return this$static;
}

function $get_1(this$static, index){
  var v = this$static.jsArray[index];
  var func = ($clinit_108() , typeMap)[typeof v];
  return func?func(v):throwUnknownTypeException(typeof v);
}

function equals_1(other){
  if (!(other != null && canCast(other.typeId$, 24))) {
    return false;
  }
  return this.jsArray == dynamicCast(other, 24).jsArray;
}

function getClass_45(){
  return Lcom_google_gwt_json_client_JSONArray_2_classLit;
}

function hashCode_3(){
  return getHashCode(this.jsArray);
}

function isArray_0(){
  return this;
}

function toString_6(){
  var c, i, sb;
  sb = $StringBuffer(new StringBuffer);
  sb.impl.string += '[';
  for (i = 0 , c = this.jsArray.length; i < c; ++i) {
    i > 0 && (sb.impl.string += ',' , undefined);
    $append_1(sb, $get_1(this, i));
  }
  sb.impl.string += ']';
  return sb.impl.string;
}

function JSONArray(){
}

_ = JSONArray.prototype = new JSONValue;
_.equals$ = equals_1;
_.getClass$ = getClass_45;
_.hashCode$ = hashCode_3;
_.isArray = isArray_0;
_.toString$ = toString_6;
_.typeId$ = 14;
_.jsArray = null;
function $clinit_103(){
  $clinit_103 = nullMethod;
  FALSE = $JSONBoolean(new JSONBoolean, false);
  TRUE = $JSONBoolean(new JSONBoolean, true);
}

function $JSONBoolean(this$static, value){
  $clinit_103();
  this$static.value_0 = value;
  return this$static;
}

function getClass_46(){
  return Lcom_google_gwt_json_client_JSONBoolean_2_classLit;
}

function getInstance(b){
  $clinit_103();
  if (b) {
    return TRUE;
  }
   else {
    return FALSE;
  }
}

function isBoolean_0(){
  return this;
}

function toString_7(){
  return $clinit_219() , '' + this.value_0;
}

function JSONBoolean(){
}

_ = JSONBoolean.prototype = new JSONValue;
_.getClass$ = getClass_46;
_.isBoolean = isBoolean_0;
_.toString$ = toString_7;
_.typeId$ = 0;
_.value_0 = false;
var FALSE, TRUE;
function $JSONException(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function $JSONException_0(this$static, cause){
  $fillInStackTrace();
  this$static.detailMessage = !cause?null:$toString(cause);
  this$static.cause = cause;
  return this$static;
}

function getClass_47(){
  return Lcom_google_gwt_json_client_JSONException_2_classLit;
}

function JSONException(){
}

_ = JSONException.prototype = new RuntimeException;
_.getClass$ = getClass_47;
_.typeId$ = 15;
function $clinit_105(){
  $clinit_105 = nullMethod;
  instance = ($clinit_105() , new JSONNull);
}

function getClass_48(){
  return Lcom_google_gwt_json_client_JSONNull_2_classLit;
}

function toString_8(){
  return 'null';
}

function JSONNull(){
}

_ = JSONNull.prototype = new JSONValue;
_.getClass$ = getClass_48;
_.toString$ = toString_8;
_.typeId$ = 0;
var instance;
function $JSONNumber(this$static, value){
  this$static.value_0 = value;
  return this$static;
}

function equals_2(other){
  if (!(other != null && canCast(other.typeId$, 25))) {
    return false;
  }
  return this.value_0 == dynamicCast(other, 25).value_0;
}

function getClass_49(){
  return Lcom_google_gwt_json_client_JSONNumber_2_classLit;
}

function hashCode_4(){
  return ~~Math.max(Math.min($Double(new Double, this.value_0).value_0, 2147483647), -2147483648);
}

function isNumber_0(){
  return this;
}

function toString_9(){
  return this.value_0 + '';
}

function JSONNumber(){
}

_ = JSONNumber.prototype = new JSONValue;
_.equals$ = equals_2;
_.getClass$ = getClass_49;
_.hashCode$ = hashCode_4;
_.isNumber = isNumber_0;
_.toString$ = toString_9;
_.typeId$ = 16;
_.value_0 = 0;
function $JSONObject(this$static, jsValue){
  this$static.jsObject = jsValue;
  return this$static;
}

function $computeKeys0(this$static, result){
  var jsObject = this$static.jsObject;
  var i = 0;
  for (var key in jsObject) {
    jsObject.hasOwnProperty(key) && (result[i++] = key);
  }
  return result;
}

function $get_2(this$static, key){
  if (key == null) {
    throw $NullPointerException(new NullPointerException);
  }
  return $get0(this$static, key);
}

function $get0(this$static, key){
  var jsObject = this$static.jsObject;
  var v;
  key = String(key);
  jsObject.hasOwnProperty(key) && (v = jsObject[key]);
  var func = ($clinit_108() , typeMap)[typeof v];
  var ret = func?func(v):throwUnknownTypeException(typeof v);
  return ret;
}

function equals_3(other){
  if (!(other != null && canCast(other.typeId$, 26))) {
    return false;
  }
  return this.jsObject == dynamicCast(other, 26).jsObject;
}

function getClass_50(){
  return Lcom_google_gwt_json_client_JSONObject_2_classLit;
}

function hashCode_5(){
  return getHashCode(this.jsObject);
}

function isObject_0(){
  return this;
}

function toString_10(){
  var first, key, key$array, key$index, key$max, keys, sb;
  sb = $StringBuffer(new StringBuffer);
  sb.impl.string += '{';
  first = true;
  keys = $computeKeys0(this, initDim(_3Ljava_lang_String_2_classLit, 0, 1, 0, 0));
  for (key$array = keys , key$index = 0 , key$max = key$array.length; key$index < key$max; ++key$index) {
    key = key$array[key$index];
    first?(first = false):(sb.impl.string += ', ' , undefined);
    $append_2(sb, escapeValue(key));
    sb.impl.string += ':';
    $append_1(sb, $get_2(this, key));
  }
  sb.impl.string += '}';
  return sb.impl.string;
}

function JSONObject(){
}

_ = JSONObject.prototype = new JSONValue;
_.equals$ = equals_3;
_.getClass$ = getClass_50;
_.hashCode$ = hashCode_5;
_.isObject = isObject_0;
_.toString$ = toString_10;
_.typeId$ = 17;
_.jsObject = null;
function $clinit_108(){
  $clinit_108 = nullMethod;
  typeMap = {'boolean':createBoolean, number:createNumber, string:createString, object:createObject_0, 'function':createObject_0, undefined:createUndefined};
}

function createBoolean(v){
  return getInstance(v);
}

function createNumber(v){
  return $JSONNumber(new JSONNumber, v);
}

function createObject_0(o){
  if (!o) {
    return $clinit_105() , instance;
  }
  var v = o.valueOf?o.valueOf():o;
  if (v !== o) {
    var func = typeMap[typeof v];
    return func?func(v):throwUnknownTypeException(typeof v);
  }
   else if (o instanceof Array || o instanceof $wnd.Array) {
    return $JSONArray(new JSONArray, o);
  }
   else {
    return $JSONObject(new JSONObject, o);
  }
}

function createString(v){
  return $JSONString(new JSONString, v);
}

function createUndefined(){
  return null;
}

function parse(jsonString){
  var v, func;
  $clinit_108();
  var $e0, ex;
  if (jsonString == null) {
    throw $NullPointerException(new NullPointerException);
  }
  if (jsonString.length == 0) {
    throw $IllegalArgumentException_0(new IllegalArgumentException, 'empty argument');
  }
  try {
    return v = eval('(' + jsonString + ')') , func = typeMap[typeof v] , func?func(v):throwUnknownTypeException(typeof v);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 22)) {
      ex = $e0;
      throw $JSONException_0(new JSONException, ex);
    }
     else 
      throw $e0;
  }
}

function throwUnknownTypeException(typeString){
  $clinit_108();
  throw $JSONException(new JSONException, "Unexpected typeof result '" + typeString + "'; please report this bug to the GWT team");
}

var typeMap;
function $JSONString(this$static, value){
  if (value == null) {
    throw $NullPointerException(new NullPointerException);
  }
  this$static.value_0 = value;
  return this$static;
}

function equals_4(other){
  if (!(other != null && canCast(other.typeId$, 27))) {
    return false;
  }
  return $equals_1(this.value_0, dynamicCast(other, 27).value_0);
}

function getClass_51(){
  return Lcom_google_gwt_json_client_JSONString_2_classLit;
}

function hashCode_6(){
  return getHashCode_0(this.value_0);
}

function isString_0(){
  return this;
}

function toString_11(){
  return escapeValue(this.value_0);
}

function JSONString(){
}

_ = JSONString.prototype = new JSONValue;
_.equals$ = equals_4;
_.getClass$ = getClass_51;
_.hashCode$ = hashCode_6;
_.isString = isString_0;
_.toString$ = toString_11;
_.typeId$ = 18;
_.value_0 = null;
function createFrom(array, length_0){
  var a, result;
  a = array;
  result = createFromSeed(0, length_0);
  initValues(a.arrayClass$, a.typeId$, a.queryId$, result);
  return result;
}

function createFromSeed(seedType, length_0){
  var array = new Array(length_0);
  if (seedType > 0) {
    var value = [null, 0, false, [0, 0]][seedType];
    for (var i = 0; i < length_0; ++i) {
      array[i] = value;
    }
  }
  return array;
}

function getClass_52(){
  return this.arrayClass$;
}

function initDim(arrayClass, typeId, queryId, length_0, seedType){
  var result;
  result = createFromSeed(seedType, length_0);
  $clinit_111();
  wrapArray(result, expandoNames_0, expandoValues_0);
  result.arrayClass$ = arrayClass;
  result.typeId$ = typeId;
  result.queryId$ = queryId;
  return result;
}

function initValues(arrayClass, typeId, queryId, array){
  $clinit_111();
  wrapArray(array, expandoNames_0, expandoValues_0);
  array.arrayClass$ = arrayClass;
  array.typeId$ = typeId;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index, value){
  if (value != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value.typeId$, array.queryId$)) {
      throw $ArrayStoreException(new ArrayStoreException);
    }
    if (array.queryId$ < 0 && (value.typeMarker$ == nullMethod || value.typeId$ == 2)) {
      throw $ArrayStoreException(new ArrayStoreException);
    }
  }
  return array[index] = value;
}

function Array_0(){
}

_ = Array_0.prototype = new Object_0;
_.getClass$ = getClass_52;
_.typeId$ = 0;
_.arrayClass$ = null;
_.length = 0;
_.queryId$ = 0;
function $clinit_111(){
  $clinit_111 = nullMethod;
  expandoNames_0 = [];
  expandoValues_0 = [];
  initExpandos(new Array_0, expandoNames_0, expandoValues_0);
}

function initExpandos(protoType, expandoNames, expandoValues){
  var i = 0, value;
  for (var name_0 in protoType) {
    if (value = protoType[name_0]) {
      expandoNames[i] = name_0;
      expandoValues[i] = value;
      ++i;
    }
  }
}

function wrapArray(array, expandoNames, expandoValues){
  $clinit_111();
  for (var i = 0, c = expandoNames.length; i < c; ++i) {
    array[expandoNames[i]] = expandoValues[i];
  }
}

var expandoNames_0, expandoValues_0;
function canCast(srcId, dstId){
  return srcId && !!typeIdArray[srcId][dstId];
}

function canCastUnsafe(srcId, dstId){
  return srcId && typeIdArray[srcId][dstId];
}

function dynamicCast(src, dstId){
  if (src != null && !canCastUnsafe(src.typeId$, dstId)) {
    throw $ClassCastException(new ClassCastException);
  }
  return src;
}

function dynamicCastJso(src){
  if (src != null && (src.typeMarker$ == nullMethod || src.typeId$ == 2)) {
    throw $ClassCastException(new ClassCastException);
  }
  return src;
}

function instanceOf(src, dstId){
  return src != null && canCast(src.typeId$, dstId);
}

function instanceOfJso(src){
  return src != null && src.typeMarker$ != nullMethod && src.typeId$ != 2;
}

function throwClassCastExceptionUnlessNull(o){
  if (o != null) {
    throw $ClassCastException(new ClassCastException);
  }
  return o;
}

var typeIdArray = [{}, {}, {1:1, 15:1, 16:1, 17:1}, {15:1, 19:1}, {15:1, 19:1}, {2:1, 15:1, 19:1}, {2:1, 15:1, 19:1, 22:1}, {4:1}, {9:1}, {29:1}, {29:1}, {15:1, 19:1, 38:1}, {15:1, 19:1, 38:1}, {15:1, 19:1, 38:1}, {24:1}, {2:1, 15:1, 19:1}, {25:1}, {26:1}, {27:1}, {2:1, 15:1, 19:1}, {29:1}, {29:1}, {7:1, 21:1}, {11:1}, {11:1}, {11:1}, {11:1}, {13:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1}, {2:1, 15:1, 19:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {28:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 42:1}, {11:1, 12:1, 13:1, 14:1, 42:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1, 31:1, 32:1, 44:1}, {7:1, 21:1}, {11:1, 12:1, 13:1, 14:1, 31:1, 32:1, 44:1}, {11:1, 12:1, 13:1, 14:1, 32:1, 44:1}, {2:1, 15:1, 19:1}, {2:1, 15:1, 19:1}, {15:1, 19:1}, {15:1, 19:1}, {15:1, 17:1, 33:1}, {2:1, 15:1, 19:1}, {15:1}, {15:1, 17:1, 34:1}, {2:1, 15:1, 19:1}, {2:1, 15:1, 19:1}, {2:1, 15:1, 19:1}, {2:1, 15:1, 19:1, 40:1}, {15:1, 18:1}, {16:1}, {2:1, 15:1, 19:1}, {37:1}, {37:1}, {23:1}, {23:1}, {23:1}, {35:1}, {37:1}, {10:1, 15:1, 35:1}, {15:1, 36:1}, {15:1, 37:1}, {23:1}, {2:1, 15:1, 19:1}, {8:1, 21:1}, {43:1}, {41:1}, {10:1, 15:1, 35:1}, {45:1}, {15:1, 19:1, 39:1}, {3:1, 21:1}, {6:1, 21:1}, {5:1, 21:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1}, {11:1, 12:1, 13:1, 14:1}, {3:1, 21:1}, {11:1, 12:1, 13:1, 14:1}, {3:1, 21:1}, {20:1}, {30:1}];
function init(){
  var token;
  !!$stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date).getTime(), type:'onModuleLoadStart', className:'tps12.axwax.client.AxWaxUI'});
  $clinit_131();
  $addValueChangeHandler(impl, new AxWaxUI$1);
  token = impl?$wnd.__gwt_historyToken || '':'';
  fire_0(impl, token);
}

function caught_0(e){
  if (e != null && canCast(e.typeId$, 19)) {
    return e;
  }
  return $JavaScriptException(new JavaScriptException, e);
}

function attachToDom(element){
  var origParent, origSibling, parent_0;
  ensureHiddenDiv();
  origParent = (parent_0 = ($clinit_26() , element).parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0);
  origSibling = $getNextSiblingElement(element);
  hiddenDiv.appendChild(element);
  return $UiBinderUtil$TempAttachment(new UiBinderUtil$TempAttachment, origParent, origSibling, element);
}

function ensureHiddenDiv(){
  if (!hiddenDiv) {
    hiddenDiv = ($clinit_26() , $doc).createElement('div');
    hiddenDiv.style.display = 'none';
    ($clinit_196() , $doc.body).appendChild(hiddenDiv);
  }
}

function orphan(node){
  node.parentNode.removeChild(node);
}

var hiddenDiv = null;
function $UiBinderUtil$TempAttachment(this$static, origParent, origSibling, element){
  this$static.origParent = origParent;
  this$static.origSibling = origSibling;
  this$static.element = element;
  return this$static;
}

function getClass_53(){
  return Lcom_google_gwt_uibinder_client_UiBinderUtil$TempAttachment_2_classLit;
}

function UiBinderUtil$TempAttachment(){
}

_ = UiBinderUtil$TempAttachment.prototype = new Object_0;
_.getClass$ = getClass_53;
_.typeId$ = 0;
_.element = null;
_.origParent = null;
_.origSibling = null;
function $CommandCanceledException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_54(){
  return Lcom_google_gwt_user_client_CommandCanceledException_2_classLit;
}

function CommandCanceledException(){
}

_ = CommandCanceledException.prototype = new RuntimeException;
_.getClass$ = getClass_54;
_.typeId$ = 19;
function $CommandExecutor(this$static){
  this$static.cancellationTimer = $CommandExecutor$1(new CommandExecutor$1, this$static);
  this$static.commands = $ArrayList(new ArrayList);
  this$static.executionTimer = $CommandExecutor$2(new CommandExecutor$2, this$static);
  this$static.iterator = $CommandExecutor$CircularIterator(new CommandExecutor$CircularIterator, this$static);
  return this$static;
}

function $doCommandCanceled(this$static){
  var cmd;
  cmd = $getLast(this$static.iterator);
  $remove(this$static.iterator);
  cmd != null && canCast(cmd.typeId$, 28) && $CommandCanceledException(new CommandCanceledException, dynamicCast(cmd, 28));
  this$static.executing = false;
  $maybeStartExecutionTimer(this$static);
}

function $doExecuteCommands(this$static, startTimeMillis){
  var command, element, wasCanceled;
  wasCanceled = false;
  try {
    this$static.executing = true;
    this$static.iterator.end = this$static.commands.size;
    $schedule(this$static.cancellationTimer, 10000);
    while ($hasNext(this$static.iterator)) {
      element = $next(this$static.iterator);
      try {
        if (element == null) {
          return;
        }
        if (element != null && canCast(element.typeId$, 28)) {
          command = dynamicCast(element, 28);
          $fireEvent_1(command.this$0, $FormPanel$SubmitCompleteEvent(new FormPanel$SubmitCompleteEvent, $getContents(command.this$0.synthesizedFrame)));
        }
      }
       finally {
        wasCanceled = this$static.iterator.last == -1;
        if (wasCanceled) {
          return;
        }
        $remove(this$static.iterator);
      }
      if ((new Date).getTime() - startTimeMillis >= 100) {
        return;
      }
    }
  }
   finally {
    if (!wasCanceled) {
      $cancel_0(this$static.cancellationTimer);
      this$static.executing = false;
      $maybeStartExecutionTimer(this$static);
    }
  }
}

function $maybeStartExecutionTimer(this$static){
  if (this$static.commands.size != 0 && !this$static.executionTimerPending && !this$static.executing) {
    this$static.executionTimerPending = true;
    $schedule(this$static.executionTimer, 1);
  }
}

function $submit(this$static, command){
  $add_5(this$static.commands, command);
  $maybeStartExecutionTimer(this$static);
}

function getClass_55(){
  return Lcom_google_gwt_user_client_CommandExecutor_2_classLit;
}

function CommandExecutor(){
}

_ = CommandExecutor.prototype = new Object_0;
_.getClass$ = getClass_55;
_.typeId$ = 0;
_.executing = false;
_.executionTimerPending = false;
function $clinit_125(){
  $clinit_125 = nullMethod;
  $clinit_89();
}

function $CommandExecutor$1(this$static, this$0){
  $clinit_125();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_56(){
  return Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit;
}

function run_0(){
  if (!this.this$0.executing) {
    return;
  }
  $doCommandCanceled(this.this$0);
}

function CommandExecutor$1(){
}

_ = CommandExecutor$1.prototype = new Timer;
_.getClass$ = getClass_56;
_.run = run_0;
_.typeId$ = 20;
_.this$0 = null;
function $clinit_126(){
  $clinit_126 = nullMethod;
  $clinit_89();
}

function $CommandExecutor$2(this$static, this$0){
  $clinit_126();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_57(){
  return Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit;
}

function run_1(){
  this.this$0.executionTimerPending = false;
  $doExecuteCommands(this.this$0, (new Date).getTime());
}

function CommandExecutor$2(){
}

--></script>
<script><!--
_ = CommandExecutor$2.prototype = new Timer;
_.getClass$ = getClass_57;
_.run = run_1;
_.typeId$ = 21;
_.this$0 = null;
function $CommandExecutor$CircularIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $getLast(this$static){
  return $get_5(this$static.this$0.commands, this$static.last);
}

function $hasNext(this$static){
  return this$static.next < this$static.end;
}

function $next(this$static){
  var command;
  this$static.last = this$static.next;
  command = $get_5(this$static.this$0.commands, this$static.next++);
  this$static.next >= this$static.end && (this$static.next = 0);
  return command;
}

function $remove(this$static){
  $remove_7(this$static.this$0.commands, this$static.last);
  --this$static.end;
  this$static.last <= this$static.next && --this$static.next < 0 && (this$static.next = 0);
  this$static.last = -1;
}

function getClass_58(){
  return Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit;
}

function hasNext(){
  return this.next < this.end;
}

function next_0(){
  return $next(this);
}

function CommandExecutor$CircularIterator(){
}

_ = CommandExecutor$CircularIterator.prototype = new Object_0;
_.getClass$ = getClass_58;
_.hasNext = hasNext;
_.next_0 = next_0;
_.typeId$ = 0;
_.end = 0;
_.last = -1;
_.next = 0;
_.this$0 = null;
function dispatchEvent_0(evt, elem, listener){
  var prevCurrentEvent;
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  elem == sCaptureElem && $eventGetTypeInt(($clinit_26() , evt).type) == 8192 && (sCaptureElem = null);
  listener.onBrowserEvent(evt);
  currentEvent = prevCurrentEvent;
}

function getParent(elem){
  var parent_0;
  return parent_0 = ($clinit_26() , elem).parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0;
}

var currentEvent = null, sCaptureElem = null;
function $clinit_129(){
  $clinit_129 = nullMethod;
  commandExecutor = $CommandExecutor(new CommandExecutor);
}

function addCommand(cmd){
  $clinit_129();
  if (!cmd) {
    throw $NullPointerException_0(new NullPointerException, 'cmd cannot be null');
  }
  $submit(commandExecutor, cmd);
}

var commandExecutor;
function $clinit_131(){
  $clinit_131 = nullMethod;
  impl = $HistoryImplMozilla(new HistoryImplMozilla);
  !$init_0(impl) && (impl = null);
}

function newItem(historyToken, issueEvent){
  $clinit_131();
  !!impl && $newItem(impl, historyToken, issueEvent);
}

var impl = null;
function getClass_59(){
  return Lcom_google_gwt_user_client_Timer$1_2_classLit;
}

function onClose(event_0){
  while (($clinit_89() , timers).size > 0) {
    $cancel_0(dynamicCast($get_5(timers, 0), 29));
  }
}

function Timer$1(){
}

_ = Timer$1.prototype = new Object_0;
_.getClass$ = getClass_59;
_.onClose = onClose;
_.typeId$ = 22;
function addCloseHandler(handler){
  maybeInitializeCloseHandlers();
  return addHandler(TYPE_2?TYPE_2:(TYPE_2 = $GwtEvent$Type(new GwtEvent$Type)), handler);
}

function addHandler(type, handler){
  return $addHandler(getHandlers(), type, handler);
}

function getHandlers(){
  !handlers && (handlers = $Window$WindowHandlers(new Window$WindowHandlers));
  return handlers;
}

function maybeInitializeCloseHandlers(){
  if (!closeHandlersInitialized) {
    $initWindowCloseHandler();
    closeHandlersInitialized = true;
  }
}

function onClosing(){
  var event_0;
  if (closeHandlersInitialized) {
    event_0 = ($clinit_134() , new Window$ClosingEvent);
    !!handlers && $fireEvent(handlers, event_0);
    return null;
  }
  return null;
}

var closeHandlersInitialized = false, handlers = null;
function $clinit_134(){
  $clinit_134 = nullMethod;
  TYPE_4 = $GwtEvent$Type(new GwtEvent$Type);
}

function dispatch_4(p0){
  throwClassCastExceptionUnlessNull(p0);
  null.nullMethod();
}

function getAssociatedType_5(){
  return TYPE_4;
}

function getClass_60(){
  return Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit;
}

function Window$ClosingEvent(){
}

_ = Window$ClosingEvent.prototype = new GwtEvent;
_.dispatch = dispatch_4;
_.getAssociatedType = getAssociatedType_5;
_.getClass$ = getClass_60;
_.typeId$ = 0;
var TYPE_4;
function $Window$WindowHandlers(this$static){
  this$static.registry = $HandlerManager$HandlerRegistry(new HandlerManager$HandlerRegistry);
  this$static.source = null;
  this$static.isReverseOrder = false;
  return this$static;
}

function getClass_61(){
  return Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit;
}

function Window$WindowHandlers(){
}

_ = Window$WindowHandlers.prototype = new HandlerManager;
_.getClass$ = getClass_61;
_.typeId$ = 23;
function $eventGetTypeInt(eventType){
  switch (eventType) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'mousewheel':
      return 131072;
    case 'DOMMouseScroll':
      return 131072;
    case 'contextmenu':
      return 262144;
    case 'paste':
      return 524288;
  }
}

function $maybeInitializeEventSystem(){
  if (!eventSystemIsInitialized) {
    $initEventSystem();
    $initSyntheticMouseUpEvents();
    eventSystemIsInitialized = true;
  }
}

function isMyListener(object){
  return !(object != null && object.typeMarker$ != nullMethod && object.typeId$ != 2) && object != null && canCast(object.typeId$, 12);
}

var eventSystemIsInitialized = false;
function $getChildIndex(parent_0, toFind){
  var count = 0, child = parent_0.firstChild;
  while (child) {
    if (child === toFind) {
      return count;
    }
    child.nodeType == 1 && ++count;
    child = child.nextSibling;
  }
  return -1;
}

function $initEventSystem(){
  dispatchCapturedMouseEvent = $entry(function(evt){
    if (dispatchCapturedEvent(evt)) {
      var cap = captureElem;
      if (cap && cap.__listener) {
        if (isMyListener(cap.__listener)) {
          dispatchEvent_0(evt, cap, cap.__listener);
          evt.stopPropagation();
        }
      }
    }
  }
  );
  dispatchCapturedEvent = $entry(function(evt){
    return true;
  }
  );
  dispatchEvent_1 = $entry(function(evt){
    var listener, curElem = this;
    while (curElem && !(listener = curElem.__listener)) {
      curElem = curElem.parentNode;
    }
    curElem && curElem.nodeType != 1 && (curElem = null);
    listener && isMyListener(listener) && dispatchEvent_0(evt, curElem, listener);
  }
  );
  $wnd.addEventListener('click', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('dblclick', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousedown', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseup', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousemove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseover', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseout', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousewheel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('keydown', dispatchCapturedEvent, true);
  $wnd.addEventListener('keyup', dispatchCapturedEvent, true);
  $wnd.addEventListener('keypress', dispatchCapturedEvent, true);
}

function $insertChild(parent_0, toAdd, index){
  var count = 0, child = parent_0.firstChild, before = null;
  while (child) {
    if (child.nodeType == 1) {
      if (count == index) {
        before = child;
        break;
      }
      ++count;
    }
    child = child.nextSibling;
  }
  parent_0.insertBefore(toAdd, before);
}

function $sinkEventsImpl(elem, bits){
  var chMask = (elem.__eventBits || 0) ^ bits;
  elem.__eventBits = bits;
  if (!chMask)
    return;
  chMask & 1 && (elem.onclick = bits & 1?dispatchEvent_1:null);
  chMask & 2 && (elem.ondblclick = bits & 2?dispatchEvent_1:null);
  chMask & 4 && (elem.onmousedown = bits & 4?dispatchEvent_1:null);
  chMask & 8 && (elem.onmouseup = bits & 8?dispatchEvent_1:null);
  chMask & 16 && (elem.onmouseover = bits & 16?dispatchEvent_1:null);
  chMask & 32 && (elem.onmouseout = bits & 32?dispatchEvent_1:null);
  chMask & 64 && (elem.onmousemove = bits & 64?dispatchEvent_1:null);
  chMask & 128 && (elem.onkeydown = bits & 128?dispatchEvent_1:null);
  chMask & 256 && (elem.onkeypress = bits & 256?dispatchEvent_1:null);
  chMask & 512 && (elem.onkeyup = bits & 512?dispatchEvent_1:null);
  chMask & 1024 && (elem.onchange = bits & 1024?dispatchEvent_1:null);
  chMask & 2048 && (elem.onfocus = bits & 2048?dispatchEvent_1:null);
  chMask & 4096 && (elem.onblur = bits & 4096?dispatchEvent_1:null);
  chMask & 8192 && (elem.onlosecapture = bits & 8192?dispatchEvent_1:null);
  chMask & 16384 && (elem.onscroll = bits & 16384?dispatchEvent_1:null);
  chMask & 32768 && (elem.onload = bits & 32768?dispatchEvent_1:null);
  chMask & 65536 && (elem.onerror = bits & 65536?dispatchEvent_1:null);
  chMask & 131072 && (elem.onmousewheel = bits & 131072?dispatchEvent_1:null);
  chMask & 262144 && (elem.oncontextmenu = bits & 262144?dispatchEvent_1:null);
  chMask & 524288 && (elem.onpaste = bits & 524288?dispatchEvent_1:null);
}

var captureElem = null, dispatchCapturedEvent = null, dispatchCapturedMouseEvent = null, dispatchEvent_1 = null;
function $initSyntheticMouseUpEvents(){
  $wnd.addEventListener('mouseout', $entry(function(evt){
    var cap = $wnd.__captureElem;
    if (cap && !evt.relatedTarget) {
      if ('html' == evt.target.tagName.toLowerCase()) {
        var muEvent = $doc.createEvent('MouseEvents');
        muEvent.initMouseEvent('mouseup', true, true, $wnd, 0, evt.screenX, evt.screenY, evt.clientX, evt.clientY, evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, evt.button, null);
        cap.dispatchEvent(muEvent);
      }
    }
  }
  ), true);
  $wnd.addEventListener('DOMMouseScroll', dispatchCapturedMouseEvent, true);
}

function $sinkEvents(elem, bits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, bits);
  bits & 131072 && elem.addEventListener('DOMMouseScroll', dispatchEvent_1, false);
}

function $ElementMapperImpl(this$static){
  this$static.uiObjectList = $ArrayList(new ArrayList);
  return this$static;
}

function $get_3(this$static, elem){
  var index, index_0;
  index = (index_0 = elem['__uiObjectID'] , index_0 == null?-1:index_0);
  if (index < 0) {
    return null;
  }
  return dynamicCast($get_5(this$static.uiObjectList, index), 13);
}

function $put(this$static, uiObject){
  var index;
  if (!this$static.freeList) {
    index = this$static.uiObjectList.size;
    $add_5(this$static.uiObjectList, uiObject);
  }
   else {
    index = this$static.freeList.index_0;
    $set_1(this$static.uiObjectList, index, uiObject);
    this$static.freeList = this$static.freeList.next;
  }
  uiObject.element['__uiObjectID'] = index;
}

function $removeByElement(this$static, elem){
  var index, index_0;
  index = (index_0 = elem['__uiObjectID'] , index_0 == null?-1:index_0);
  elem['__uiObjectID'] = null;
  $set_1(this$static.uiObjectList, index, null);
  this$static.freeList = $ElementMapperImpl$FreeNode(new ElementMapperImpl$FreeNode, index, this$static.freeList);
}

function getClass_62(){
  return Lcom_google_gwt_user_client_impl_ElementMapperImpl_2_classLit;
}

function ElementMapperImpl(){
}

_ = ElementMapperImpl.prototype = new Object_0;
_.getClass$ = getClass_62;
_.typeId$ = 0;
_.freeList = null;
function $ElementMapperImpl$FreeNode(this$static, index, next){
  this$static.index_0 = index;
  this$static.next = next;
  return this$static;
}

function getClass_63(){
  return Lcom_google_gwt_user_client_impl_ElementMapperImpl$FreeNode_2_classLit;
}

function ElementMapperImpl$FreeNode(){
}

_ = ElementMapperImpl$FreeNode.prototype = new Object_0;
_.getClass$ = getClass_63;
_.typeId$ = 0;
_.index_0 = 0;
_.next = null;
function $addValueChangeHandler(this$static, handler){
  return $addHandler(this$static.handlers, (!TYPE_3 && (TYPE_3 = $GwtEvent$Type(new GwtEvent$Type)) , TYPE_3), handler);
}

function $newItem(this$static, historyToken, issueEvent){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_1(historyToken, $wnd.__gwt_historyToken || '')) {
    $wnd.__gwt_historyToken = historyToken;
    $nativeUpdate(this$static, historyToken);
    issueEvent && fire_0(this$static, historyToken);
  }
}

function decodeFragment(encodedFragment){
  return decodeURI(encodedFragment.replace('%23', '#'));
}

function encodeFragment(fragment){
  return encodeURI(fragment).replace('#', '%23');
}

function getClass_64(){
  return Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit;
}

function newItemOnEvent(historyToken){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_1(historyToken, $wnd.__gwt_historyToken || '')) {
    $wnd.__gwt_historyToken = historyToken;
    fire_0(this, historyToken);
  }
}

function HistoryImpl(){
}

_ = HistoryImpl.prototype = new Object_0;
_.decodeFragment = decodeFragment;
_.encodeFragment = encodeFragment;
_.getClass$ = getClass_64;
_.newItemOnEvent = newItemOnEvent;
_.typeId$ = 24;
function $init_0(this$static){
  var token_0 = '';
  var hash_0 = $wnd.location.hash;
  hash_0.length > 0 && (token_0 = this$static.decodeFragment(hash_0.substring(1)));
  $wnd.__gwt_historyToken = token_0;
  var historyImpl = this$static;
  $wnd.__checkHistory = $entry(function(){
    $wnd.setTimeout($wnd.__checkHistory, 250);
    var token = '', hash = $wnd.location.hash;
    hash.length > 0 && (token = historyImpl.decodeFragment(hash.substring(1)));
    historyImpl.newItemOnEvent(token);
  }
  );
  $wnd.__checkHistory();
  return true;
}

function getClass_65(){
  return Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit;
}

function HistoryImplTimer(){
}

_ = HistoryImplTimer.prototype = new HistoryImpl;
_.getClass$ = getClass_65;
_.typeId$ = 25;
function $HistoryImplMozilla(this$static){
  this$static.handlers = $HandlerManager(new HandlerManager, null);
  return this$static;
}

function $nativeUpdate(this$static, historyToken){
  if (historyToken.length == 0) {
    var s = $wnd.location.href;
    var i = s.indexOf('#');
    i != -1 && (s = s.substring(0, i));
    $wnd.location = s + '#';
  }
   else {
    $wnd.location.hash = this$static.encodeFragment(historyToken);
  }
}

function decodeFragment_0(encodedFragment){
  return encodedFragment;
}

function getClass_66(){
  return Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit;
}

function HistoryImplMozilla(){
}

_ = HistoryImplMozilla.prototype = new HistoryImplTimer;
_.decodeFragment = decodeFragment_0;
_.getClass$ = getClass_66;
_.typeId$ = 26;
function $initWindowCloseHandler(){
  var oldOnBeforeUnload = $wnd.onbeforeunload;
  var oldOnUnload = $wnd.onunload;
  $wnd.onbeforeunload = function(evt){
    var ret, oldRet;
    try {
      ret = $entry(onClosing)();
    }
     finally {
      oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);
    }
    if (ret != null) {
      return ret;
    }
    if (oldRet != null) {
      return oldRet;
    }
  }
  ;
  $wnd.onunload = $entry(function(evt){
    try {
      closeHandlersInitialized && fire(getHandlers());
    }
     finally {
      oldOnUnload && oldOnUnload(evt);
      $wnd.onresize = null;
      $wnd.onscroll = null;
      $wnd.onbeforeunload = null;
      $wnd.onunload = null;
    }
  }
  );
}

function $setElement(this$static, elem){
  this$static.element = elem;
}

function getClass_67(){
  return Lcom_google_gwt_user_client_ui_UIObject_2_classLit;
}

function setStyleName(elem, style, add){
  if (!elem) {
    throw $RuntimeException(new RuntimeException, 'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw $IllegalArgumentException_0(new IllegalArgumentException, 'Style names cannot be empty');
  }
  add?$addClassName(elem, style):$removeClassName(elem, style);
}

function toString_13(){
  if (!this.element) {
    return '(null handle)';
  }
  return $toString_1(($clinit_26() , this.element));
}

function UIObject(){
}

_ = UIObject.prototype = new Object_0;
_.getClass$ = getClass_67;
_.toString$ = toString_13;
_.typeId$ = 27;
_.element = null;
function $addDomHandler(this$static, handler, type){
  $sinkEvents_0(this$static, $eventGetTypeInt(type.name_0));
  return $addHandler(!this$static.handlerManager?(this$static.handlerManager = $HandlerManager(new HandlerManager, this$static)):this$static.handlerManager, type, handler);
}

function $fireEvent_1(this$static, event_0){
  !!this$static.handlerManager && $fireEvent(this$static.handlerManager, event_0);
}

function $onAttach(this$static){
  var bitsToAdd;
  if (this$static.isAttached()) {
    throw $IllegalStateException_0(new IllegalStateException, "Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  this$static.element.__listener = this$static;
  bitsToAdd = this$static.eventsToSink;
  this$static.eventsToSink = -1;
  bitsToAdd > 0 && $sinkEvents_0(this$static, bitsToAdd);
  this$static.doAttachChildren();
  this$static.onLoad();
}

function $onBrowserEvent(this$static, event_0){
  var related;
  switch ($eventGetTypeInt(($clinit_26() , event_0).type)) {
    case 16:
    case 32:
      related = $eventGetRelatedTarget(event_0);
      if (!!related && $isOrHasChild_0(this$static.element, related)) {
        return;
      }

  }
  fireNativeEvent(event_0, this$static, this$static.element);
}

function $onDetach(this$static){
  if (!this$static.isAttached()) {
    throw $IllegalStateException_0(new IllegalStateException, "Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this$static.onUnload();
  }
   finally {
    try {
      this$static.doDetachChildren();
    }
     finally {
      this$static.element.__listener = null;
      this$static.attached = false;
    }
  }
}

function $removeFromParent(this$static){
  if (!this$static.parent_0) {
    $clinit_196();
    $containsKey(widgetsToDetach.map, this$static) && detachNow(this$static);
  }
   else if (instanceOf(this$static.parent_0, 32)) {
    dynamicCast(this$static.parent_0, 32).remove(this$static);
  }
   else if (this$static.parent_0) {
    throw $IllegalStateException_0(new IllegalStateException, "This widget's parent does not implement HasWidgets");
  }
}

function $setParent(this$static, parent_0){
  var oldParent;
  oldParent = this$static.parent_0;
  if (!parent_0) {
    try {
      !!oldParent && oldParent.isAttached() && this$static.onDetach();
    }
     finally {
      this$static.parent_0 = null;
    }
  }
   else {
    if (oldParent) {
      throw $IllegalStateException_0(new IllegalStateException, 'Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent_0 = parent_0;
    parent_0.isAttached() && this$static.onAttach();
  }
}

function $sinkEvents_0(this$static, eventBitsToAdd){
  this$static.eventsToSink == -1?$sinkEvents(this$static.element, eventBitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= eventBitsToAdd);
}

function doAttachChildren(){
}

function doDetachChildren(){
}

function getClass_68(){
  return Lcom_google_gwt_user_client_ui_Widget_2_classLit;
}

function isAttached(){
  return this.attached;
}

function onAttach(){
  $onAttach(this);
}

function onBrowserEvent(event_0){
  $onBrowserEvent(this, event_0);
}

function onDetach(){
  $onDetach(this);
}

function onLoad(){
}

function onUnload(){
}

function Widget(){
}

_ = Widget.prototype = new UIObject;
_.doAttachChildren = doAttachChildren;
_.doDetachChildren = doDetachChildren;
_.getClass$ = getClass_68;
_.isAttached = isAttached;
_.onAttach = onAttach;
_.onBrowserEvent = onBrowserEvent;
_.onDetach = onDetach;
_.onLoad = onLoad;
_.onUnload = onUnload;
_.typeId$ = 28;
_.attached = false;
_.eventsToSink = 0;
_.handlerManager = null;
_.parent_0 = null;
function $clear_0(this$static){
  var it;
  it = $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator, this$static.children);
  while (it.index_0 < it.this$0.size - 1) {
    $next_2(it);
    $remove_5(it);
  }
}

function add_0(child){
  throw $UnsupportedOperationException(new UnsupportedOperationException, 'This panel does not support no-arg add()');
}

function doAttachChildren_0(){
  tryCommand(this, ($clinit_154() , attachCommand));
}

function doDetachChildren_0(){
  tryCommand(this, ($clinit_154() , detachCommand));
}

function getClass_69(){
  return Lcom_google_gwt_user_client_ui_Panel_2_classLit;
}

function onLoad_0(){
}

function onUnload_0(){
}

function Panel(){
}

_ = Panel.prototype = new Widget;
_.add_0 = add_0;
_.doAttachChildren = doAttachChildren_0;
_.doDetachChildren = doDetachChildren_0;
_.getClass$ = getClass_69;
_.onLoad = onLoad_0;
_.onUnload = onUnload_0;
_.typeId$ = 29;
function $add(this$static, child, container){
  $removeFromParent(child);
  $add_4(this$static.children, child);
  container.appendChild(child.element);
  $setParent(child, this$static);
}

function $remove_0(this$static, w){
  var elem, parent_0;
  if (w.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    elem = w.element;
    (parent_0 = ($clinit_26() , elem).parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0).removeChild(elem);
    $remove_4(this$static.children, w);
  }
  return true;
}

function getClass_70(){
  return Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit;
}

function iterator(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator, this.children);
}

function remove(w){
  return $remove_0(this, w);
}

function ComplexPanel(){
}

_ = ComplexPanel.prototype = new Panel;
_.getClass$ = getClass_70;
_.iterator_0 = iterator;
_.remove = remove;
_.typeId$ = 30;
function $AbsolutePanel(this$static){
  $AbsolutePanel_0(this$static, ($clinit_26() , $doc).createElement('div'));
  this$static.element.style['position'] = 'relative';
  this$static.element.style['overflow'] = 'hidden';
  return this$static;
}

function $AbsolutePanel_0(this$static, elem){
  this$static.children = $WidgetCollection(new WidgetCollection, this$static);
  this$static.element = elem;
  return this$static;
}

function $add_0(this$static, w){
  $add(this$static, w, this$static.element);
}

function add_1(w){
  $add(this, w, this.element);
}

function changeToStaticPositioning(elem){
  elem.style['left'] = '';
  elem.style['top'] = '';
  elem.style['position'] = '';
}

function getClass_71(){
  return Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit;
}

function remove_0(w){
  var removed;
  removed = $remove_0(this, w);
  removed && changeToStaticPositioning(w.element);
  return removed;
}

function AbsolutePanel(){
}

_ = AbsolutePanel.prototype = new ComplexPanel;
_.add_0 = add_1;
_.getClass$ = getClass_71;
_.remove = remove_0;
_.typeId$ = 31;
function $FocusWidget(this$static, elem){
  this$static.element = elem;
  this$static.element.tabIndex = 0;
  return this$static;
}

function $setElement_0(this$static, elem){
  this$static.element = elem;
  this$static.element.tabIndex = 0;
}

function getClass_72(){
  return Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit;
}

function FocusWidget(){
}

_ = FocusWidget.prototype = new Widget;
_.getClass$ = getClass_72;
_.typeId$ = 32;
function $Anchor(this$static){
  $setElement_0(this$static, ($clinit_26() , $doc).createElement('a'));
  this$static.element['className'] = 'gwt-Anchor';
  return this$static;
}

function $Anchor_0(this$static, text, href){
  $setElement_0(this$static, ($clinit_26() , $doc).createElement('a'));
  this$static.element['className'] = 'gwt-Anchor';
  this$static.element.textContent = text || '';
  this$static.element.href = href;
  return this$static;
}

function getClass_73(){
  return Lcom_google_gwt_user_client_ui_Anchor_2_classLit;
}

function Anchor(){
}

_ = Anchor.prototype = new FocusWidget;
_.getClass$ = getClass_73;
_.typeId$ = 33;
function $clinit_154(){
  $clinit_154 = nullMethod;
  attachCommand = new AttachDetachException$1;
  detachCommand = new AttachDetachException$2;
}

function $AttachDetachException(this$static, causes){
  $clinit_154();
  $Throwable_0(this$static, 'One or more exceptions caught, see full set in AttachDetachException#getCauses', causes.map.size == 0?null:dynamicCast(causes.toArray(initDim(_3Ljava_lang_Throwable_2_classLit, 99, 19, 0, 0)), 30)[0]);
  return this$static;
}

function getClass_74(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit;
}

function tryCommand(hasWidgets, c){
  var old;
  $clinit_154();
  var $e0, caught, e, w, w$iterator;
  caught = null;
  for (w$iterator = hasWidgets.iterator_0(); w$iterator.hasNext();) {
    w = dynamicCast(w$iterator.next_0(), 14);
    try {
      c.execute_0(w);
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (instanceOf($e0, 19)) {
        e = $e0;
        !caught && (caught = $HashSet(new HashSet));
        old = $put_0(caught.map, e, caught);
      }
       else 
        throw $e0;
    }
  }
  if (caught) {
    throw $AttachDetachException(new AttachDetachException, caught);
  }
}

function AttachDetachException(){
}

_ = AttachDetachException.prototype = new RuntimeException;
_.getClass$ = getClass_74;
_.typeId$ = 34;
var attachCommand, detachCommand;
function execute_2(w){
  w.onAttach();
}

function getClass_75(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit;
}

function AttachDetachException$1(){
}

_ = AttachDetachException$1.prototype = new Object_0;
_.execute_0 = execute_2;
_.getClass$ = getClass_75;
_.typeId$ = 0;
function execute_3(w){
  w.onDetach();
}

function getClass_76(){
  return Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit;
}

function AttachDetachException$2(){
}

_ = AttachDetachException$2.prototype = new Object_0;
_.execute_0 = execute_3;
_.getClass$ = getClass_76;
_.typeId$ = 0;
function $ButtonBase(this$static, elem){
  this$static.element = elem;
  this$static.element.tabIndex = 0;
  return this$static;
}

function getClass_77(){
  return Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit;
}

function ButtonBase(){
}

_ = ButtonBase.prototype = new FocusWidget;
_.getClass$ = getClass_77;
_.typeId$ = 35;
function $Button(this$static){
  $ButtonBase(this$static, $createPushButtonElement($doc));
  this$static.element['className'] = 'gwt-Button';
  return this$static;
}

function $Button_0(this$static, html, handler){
  $ButtonBase(this$static, $createPushButtonElement($doc));
  this$static.element['className'] = 'gwt-Button';
  this$static.element.innerHTML = html || '';
  $addDomHandler(this$static, handler, ($clinit_42() , $clinit_42() , TYPE));
  return this$static;
}

function getClass_78(){
  return Lcom_google_gwt_user_client_ui_Button_2_classLit;
}

function Button(){
}

_ = Button.prototype = new ButtonBase;
_.getClass$ = getClass_78;
_.typeId$ = 36;
function $CellPanel(this$static){
  this$static.children = $WidgetCollection(new WidgetCollection, this$static);
  this$static.table = ($clinit_26() , $doc).createElement('table');
  this$static.body_0 = $doc.createElement('tbody');
  this$static.table.appendChild(this$static.body_0);
  this$static.element = this$static.table;
  return this$static;
}

function getClass_79(){
  return Lcom_google_gwt_user_client_ui_CellPanel_2_classLit;
}

function CellPanel(){
}

_ = CellPanel.prototype = new ComplexPanel;
_.getClass$ = getClass_79;
_.typeId$ = 37;
_.body_0 = null;
_.table = null;
function $initWidget(this$static, widget){
  if (this$static.widget) {
    throw $IllegalStateException_0(new IllegalStateException, 'Composite.initWidget() may only be called once.');
  }
  $removeFromParent(widget);
  $setElement(this$static, widget.element);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

function getClass_80(){
  return Lcom_google_gwt_user_client_ui_Composite_2_classLit;
}

function isAttached_0(){
  if (this.widget) {
    return this.widget.attached;
  }
  return false;
}

function onAttach_0(){
  if (this.eventsToSink != -1) {
    $sinkEvents_0(this.widget, this.eventsToSink);
    this.eventsToSink = -1;
  }
  this.widget.onAttach();
  this.element.__listener = this;
}

function onBrowserEvent_0(event_0){
  $onBrowserEvent(this, event_0);
  $onBrowserEvent(this.widget, event_0);
}

function onDetach_0(){
  this.widget.onDetach();
}

function Composite(){
}

_ = Composite.prototype = new Widget;
_.getClass$ = getClass_80;
_.isAttached = isAttached_0;
_.onAttach = onAttach_0;
_.onBrowserEvent = onBrowserEvent_0;
_.onDetach = onDetach_0;
_.typeId$ = 38;
_.widget = null;
function $FileUpload(this$static){
  var e;
  this$static.element = (e = ($clinit_26() , $doc).createElement('INPUT') , e.type = 'file' , e);
  this$static.element['className'] = 'gwt-FileUpload';
  return this$static;
}

function getClass_81(){
  return Lcom_google_gwt_user_client_ui_FileUpload_2_classLit;
}

function onBrowserEvent_1(event_0){
  $onBrowserEvent(this, event_0);
}

function FileUpload(){
}

_ = FileUpload.prototype = new Widget;
_.getClass$ = getClass_81;
_.onBrowserEvent = onBrowserEvent_1;
_.typeId$ = 39;
function $add_1(this$static, w){
  if (this$static.widget) {
    throw $IllegalStateException_0(new IllegalStateException, 'SimplePanel can only contain one child widget');
  }
  $setWidget(this$static, w);
}

--></script>
<script><!--
function $remove_1(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    this$static.element.removeChild(w.element);
    this$static.widget = null;
  }
  return true;
}

function $setWidget(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  !!w && $removeFromParent(w);
  !!this$static.widget && $remove_1(this$static, this$static.widget);
  this$static.widget = w;
  if (w) {
    this$static.element.appendChild(this$static.widget.element);
    $setParent(w, this$static);
  }
}

function add_2(w){
  $add_1(this, w);
}

function getClass_82(){
  return Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit;
}

function iterator_0(){
  return $SimplePanel$1(new SimplePanel$1, this);
}

function remove_1(w){
  return $remove_1(this, w);
}

function SimplePanel(){
}

_ = SimplePanel.prototype = new Panel;
_.add_0 = add_2;
_.getClass$ = getClass_82;
_.iterator_0 = iterator_0;
_.remove = remove_1;
_.typeId$ = 40;
_.widget = null;
function $FocusPanel(this$static){
  var e;
  this$static.element = (e = $doc.createElement('DIV') , e.tabIndex = 0 , e);
  return this$static;
}

function getClass_83(){
  return Lcom_google_gwt_user_client_ui_FocusPanel_2_classLit;
}

function FocusPanel(){
}

_ = FocusPanel.prototype = new SimplePanel;
_.getClass$ = getClass_83;
_.typeId$ = 41;
function $FormPanel(this$static){
  $FormPanel_0(this$static, ($clinit_26() , $doc).createElement('form'), true);
  return this$static;
}

function $FormPanel_0(this$static, element, createIFrame){
  this$static.element = element;
  if (createIFrame) {
    this$static.frameName = 'FormPanel_' + ++formId;
    this$static.element.target = this$static.frameName;
    $sinkEvents_0(this$static, 32768);
  }
  return this$static;
}

function $fireSubmitEvent(this$static){
  var event_0;
  event_0 = ($clinit_170() , new FormPanel$SubmitEvent);
  !!this$static.handlerManager && $fireEvent(this$static.handlerManager, event_0);
  return true;
}

function $submit_0(this$static){
  if (!$fireSubmitEvent(this$static)) {
    return;
  }
  $submit_1(this$static.element, this$static.synthesizedFrame);
}

function getClass_84(){
  return Lcom_google_gwt_user_client_ui_FormPanel_2_classLit;
}

function onAttach_1(){
  var dummy;
  $onAttach(this);
  if (this.frameName != null) {
    dummy = ($clinit_26() , $doc).createElement('div');
    dummy.innerHTML = "<iframe src=\"javascript:''\" name='" + this.frameName + "' style='position:absolute;width:0;height:0;border:0'>" || '';
    this.synthesizedFrame = $getFirstChildElement(dummy);
    $doc.body.appendChild(this.synthesizedFrame);
  }
  $hookEvents(this.synthesizedFrame, this.element, this);
}

function onDetach_1(){
  $onDetach(this);
  $unhookEvents(this.synthesizedFrame, this.element);
  if (this.synthesizedFrame) {
    $doc.body.removeChild(this.synthesizedFrame);
    this.synthesizedFrame = null;
  }
}

function onFormSubmit(){
  return $fireSubmitEvent(this);
}

function onFrameLoad(){
  addCommand($FormPanel$1(new FormPanel$1, this));
}

function FormPanel(){
}

_ = FormPanel.prototype = new SimplePanel;
_.getClass$ = getClass_84;
_.onAttach = onAttach_1;
_.onDetach = onDetach_1;
_.onFormSubmit = onFormSubmit;
_.onFrameLoad = onFrameLoad;
_.typeId$ = 42;
_.frameName = null;
_.synthesizedFrame = null;
var formId = 0;
function $FormPanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_85(){
  return Lcom_google_gwt_user_client_ui_FormPanel$1_2_classLit;
}

function FormPanel$1(){
}

_ = FormPanel$1.prototype = new Object_0;
_.getClass$ = getClass_85;
_.typeId$ = 43;
_.this$0 = null;
function $FormPanel$SubmitCompleteEvent(this$static){
  return this$static;
}

function dispatch_5(p0){
  throwClassCastExceptionUnlessNull(p0);
  null.nullMethod();
}

function getAssociatedType_6(){
  return TYPE_5;
}

function getClass_86(){
  return Lcom_google_gwt_user_client_ui_FormPanel$SubmitCompleteEvent_2_classLit;
}

function FormPanel$SubmitCompleteEvent(){
}

_ = FormPanel$SubmitCompleteEvent.prototype = new GwtEvent;
_.dispatch = dispatch_5;
_.getAssociatedType = getAssociatedType_6;
_.getClass$ = getClass_86;
_.typeId$ = 0;
var TYPE_5 = null;
function $clinit_170(){
  $clinit_170 = nullMethod;
  TYPE_6 = $GwtEvent$Type(new GwtEvent$Type);
}

function dispatch_6(p0){
  throwClassCastExceptionUnlessNull(p0);
  null.nullMethod();
}

function getAssociatedType_7(){
  return TYPE_6;
}

function getClass_87(){
  return Lcom_google_gwt_user_client_ui_FormPanel$SubmitEvent_2_classLit;
}

function FormPanel$SubmitEvent(){
}

_ = FormPanel$SubmitEvent.prototype = new GwtEvent;
_.dispatch = dispatch_6;
_.getAssociatedType = getAssociatedType_7;
_.getClass$ = getClass_87;
_.typeId$ = 0;
var TYPE_6;
function $checkCellBounds(this$static, row, column){
  var cellSize;
  $checkRowBounds(this$static, row);
  if (column < 0) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Column ' + column + ' must be non-negative: ' + column);
  }
  cellSize = this$static.numColumns;
  if (cellSize <= column) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

function $checkRowBounds(this$static, row){
  var rowSize;
  rowSize = this$static.numRows;
  if (row >= rowSize || row < 0) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Row index: ' + row + ', Row size: ' + rowSize);
  }
}

function $getCellForEvent(this$static, event_0){
  var body, column, row, td, tr, parent_0, parent_1;
  td = $getEventTargetCell(this$static, event_0.nativeEvent);
  if (!td) {
    return null;
  }
  tr = (parent_0 = ($clinit_26() , td).parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0);
  body = (parent_1 = tr.parentNode , (!parent_1 || parent_1.nodeType != 1) && (parent_1 = null) , parent_1);
  row = $getChildIndex(body, tr);
  column = $getChildIndex(tr, td);
  return $HTMLTable$Cell(new HTMLTable$Cell, row, column);
}

function $getEventTargetCell(this$static, event_0){
  var body, td, tr, parent_0, parent_1, parent_2;
  td = ($clinit_26() , event_0).target;
  for (; td; td = (parent_0 = td.parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0)) {
    if ($equalsIgnoreCase(td['tagName'] == null?null:String(td['tagName']), 'td')) {
      tr = (parent_1 = td.parentNode , (!parent_1 || parent_1.nodeType != 1) && (parent_1 = null) , parent_1);
      body = (parent_2 = tr.parentNode , (!parent_2 || parent_2.nodeType != 1) && (parent_2 = null) , parent_2);
      if (body == this$static.bodyElem) {
        return td;
      }
    }
    if (td == this$static.bodyElem) {
      return null;
    }
  }
  return null;
}

function $getWidget(this$static, row, column){
  $checkCellBounds(this$static, row, column);
  return $getWidgetImpl(this$static, row, column);
}

function $getWidgetImpl(this$static, row, column){
  var child, e;
  e = this$static.cellFormatter.this$0.bodyElem.rows[row].cells[column];
  child = $getFirstChildElement(($clinit_26() , e));
  if (!child) {
    return null;
  }
   else {
    return dynamicCast($get_3(this$static.widgetMap, child), 14);
  }
}

function $internalClearCell(this$static, td, clearInnerHTML){
  var maybeChild, widget;
  maybeChild = $getFirstChildElement(($clinit_26() , td));
  widget = null;
  !!maybeChild && (widget = dynamicCast($get_3(this$static.widgetMap, maybeChild), 14));
  if (widget) {
    $remove_2(this$static, widget);
    return true;
  }
   else {
    clearInnerHTML && (td.innerHTML = '' , undefined);
    return false;
  }
}

function $remove_2(this$static, widget){
  var elem, parent_0;
  if (widget.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(widget, null);
  }
   finally {
    elem = widget.element;
    (parent_0 = ($clinit_26() , elem).parentNode , (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null) , parent_0).removeChild(elem);
    $removeByElement(this$static.widgetMap, elem);
  }
  return true;
}

function $removeRow(this$static, row){
  var column, columnCount, td;
  columnCount = this$static.numColumns;
  for (column = 0; column < columnCount; ++column) {
    td = this$static.cellFormatter.this$0.bodyElem.rows[row].cells[column];
    $internalClearCell(this$static, td, false);
  }
  this$static.bodyElem.removeChild(this$static.bodyElem.rows[row]);
}

function $setColumnFormatter(this$static, formatter){
  this$static.columnFormatter = formatter;
  $prepareColumnGroup(this$static.columnFormatter);
}

function $setWidget_0(this$static, row, column, widget){
  var td, td_0;
  $prepareCell(this$static, row, column);
  if (widget) {
    $removeFromParent(widget);
    td = (td_0 = this$static.cellFormatter.this$0.bodyElem.rows[row].cells[column] , $internalClearCell(this$static, td_0, true) , td_0);
    $put(this$static.widgetMap, widget);
    td.appendChild(widget.element);
    $setParent(widget, this$static);
  }
}

function getClass_88(){
  return Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit;
}

function iterator_1(){
  return $HTMLTable$1(new HTMLTable$1, this);
}

function remove_2(widget){
  return $remove_2(this, widget);
}

function HTMLTable(){
}

_ = HTMLTable.prototype = new Panel;
_.getClass$ = getClass_88;
_.iterator_0 = iterator_1;
_.remove = remove_2;
_.typeId$ = 44;
_.bodyElem = null;
_.cellFormatter = null;
_.columnFormatter = null;
_.tableElem = null;
function $Grid_0(this$static, rows, columns){
  this$static.widgetMap = $ElementMapperImpl(new ElementMapperImpl);
  this$static.tableElem = ($clinit_26() , $doc).createElement('table');
  this$static.bodyElem = $doc.createElement('tbody');
  this$static.tableElem.appendChild(this$static.bodyElem);
  this$static.element = this$static.tableElem;
  this$static.cellFormatter = $HTMLTable$CellFormatter(new HTMLTable$CellFormatter, this$static);
  $setColumnFormatter(this$static, $HTMLTable$ColumnFormatter(new HTMLTable$ColumnFormatter, this$static));
  $resizeColumns(this$static, columns);
  $resizeRows(this$static, rows);
  return this$static;
}

function $prepareCell(this$static, row, column){
  $prepareRow(this$static, row);
  if (column < 0) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Cannot access a column with a negative index: ' + column);
  }
  if (column >= this$static.numColumns) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

function $prepareRow(this$static, row){
  if (row < 0) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Cannot access a row with a negative index: ' + row);
  }
  if (row >= this$static.numRows) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Row index: ' + row + ', Row size: ' + this$static.numRows);
  }
}

function $removeRow_0(this$static, row){
  $removeRow(this$static, row);
  --this$static.numRows;
}

function $resizeColumns(this$static, columns){
  var i, j, td, tr, td_0, td_1, tr_0, td_2;
  if (this$static.numColumns == columns) {
    return;
  }
  if (columns < 0) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Cannot set number of columns to ' + columns);
  }
  if (this$static.numColumns > columns) {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns - 1; j >= columns; --j) {
        $checkCellBounds(this$static, i, j);
        td = (td_0 = this$static.cellFormatter.this$0.bodyElem.rows[i].cells[j] , $internalClearCell(this$static, td_0, false) , td_0);
        tr = this$static.bodyElem.rows[i];
        tr.removeChild(td);
      }
    }
  }
   else {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns; j < columns; ++j) {
        tr_0 = this$static.bodyElem.rows[i];
        td_1 = (td_2 = ($clinit_26() , $doc).createElement('td') , td_2.innerHTML = '&nbsp;' , td_2);
        $insertChild(tr_0, td_1, j);
      }
    }
  }
  this$static.numColumns = columns;
}

function $resizeRows(this$static, rows){
  if (this$static.numRows == rows) {
    return;
  }
  if (rows < 0) {
    throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Cannot set number of rows to ' + rows);
  }
  if (this$static.numRows < rows) {
    addRows(this$static.bodyElem, rows - this$static.numRows, this$static.numColumns);
    this$static.numRows = rows;
  }
   else {
    while (this$static.numRows > rows) {
      $removeRow_0(this$static, this$static.numRows - 1);
    }
  }
}

function addRows(table, rows, columns){
  var td = $doc.createElement('td');
  td.innerHTML = '&nbsp;';
  var row = $doc.createElement('tr');
  for (var cellNum = 0; cellNum < columns; cellNum++) {
    var cell = td.cloneNode(true);
    row.appendChild(cell);
  }
  table.appendChild(row);
  for (var rowNum = 1; rowNum < rows; rowNum++) {
    table.appendChild(row.cloneNode(true));
  }
}

function getClass_89(){
  return Lcom_google_gwt_user_client_ui_Grid_2_classLit;
}

function Grid(){
}

_ = Grid.prototype = new HTMLTable;
_.getClass$ = getClass_89;
_.typeId$ = 45;
_.numColumns = 0;
_.numRows = 0;
function $Label(this$static){
  this$static.element = ($clinit_26() , $doc).createElement('div');
  this$static.element['className'] = 'gwt-Label';
  return this$static;
}

function $Label_0(this$static, text){
  this$static.element = ($clinit_26() , $doc).createElement('div');
  this$static.element['className'] = 'gwt-Label';
  this$static.element.textContent = text || '';
  return this$static;
}

function getClass_90(){
  return Lcom_google_gwt_user_client_ui_Label_2_classLit;
}

function Label(){
}

_ = Label.prototype = new Widget;
_.getClass$ = getClass_90;
_.typeId$ = 46;
function $HTML(this$static){
  this$static.element = ($clinit_26() , $doc).createElement('div');
  this$static.element['className'] = 'gwt-HTML';
  return this$static;
}

function $HTML_0(this$static, html){
  this$static.element = ($clinit_26() , $doc).createElement('div');
  this$static.element['className'] = 'gwt-HTML';
  this$static.element.innerHTML = html || '';
  return this$static;
}

function getClass_91(){
  return Lcom_google_gwt_user_client_ui_HTML_2_classLit;
}

function HTML(){
}

_ = HTML.prototype = new Label;
_.getClass$ = getClass_91;
_.typeId$ = 47;
function $HTMLPanel(this$static, html){
  this$static.children = $WidgetCollection(new WidgetCollection, this$static);
  this$static.element = ($clinit_26() , $doc).createElement('div');
  this$static.element.innerHTML = html || '';
  return this$static;
}

function getClass_92(){
  return Lcom_google_gwt_user_client_ui_HTMLPanel_2_classLit;
}

function HTMLPanel(){
}

_ = HTMLPanel.prototype = new ComplexPanel;
_.getClass$ = getClass_92;
_.typeId$ = 48;
function $HTMLTable$1(this$static, this$0){
  this$static.this$0 = this$0;
  this$static.widgetList = this$static.this$0.widgetMap.uiObjectList;
  $findNext(this$static);
  return this$static;
}

function $findNext(this$static){
  while (++this$static.nextIndex < this$static.widgetList.size) {
    if ($get_5(this$static.widgetList, this$static.nextIndex) != null) {
      return;
    }
  }
}

function $next_0(this$static){
  var result;
  if (this$static.nextIndex >= this$static.widgetList.size) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  result = dynamicCast($get_5(this$static.widgetList, this$static.nextIndex), 14);
  $findNext(this$static);
  return result;
}

function getClass_93(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$1_2_classLit;
}

function hasNext_0(){
  return this.nextIndex < this.widgetList.size;
}

function next_1(){
  return $next_0(this);
}

function HTMLTable$1(){
}

_ = HTMLTable$1.prototype = new Object_0;
_.getClass$ = getClass_93;
_.hasNext = hasNext_0;
_.next_0 = next_1;
_.typeId$ = 0;
_.nextIndex = -1;
_.this$0 = null;
function $HTMLTable$Cell(this$static, rowIndex, cellIndex){
  this$static.cellIndex = cellIndex;
  this$static.rowIndex = rowIndex;
  return this$static;
}

function getClass_94(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$Cell_2_classLit;
}

function HTMLTable$Cell(){
}

_ = HTMLTable$Cell.prototype = new Object_0;
_.getClass$ = getClass_94;
_.typeId$ = 0;
_.cellIndex = 0;
_.rowIndex = 0;
function $HTMLTable$CellFormatter(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_95(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit;
}

function HTMLTable$CellFormatter(){
}

_ = HTMLTable$CellFormatter.prototype = new Object_0;
_.getClass$ = getClass_95;
_.typeId$ = 0;
_.this$0 = null;
function $HTMLTable$ColumnFormatter(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $prepareColumnGroup(this$static){
  if (!this$static.columnGroup) {
    this$static.columnGroup = ($clinit_26() , $doc).createElement('colgroup');
    $insertChild(this$static.this$0.tableElem, this$static.columnGroup, 0);
    this$static.columnGroup.appendChild($doc.createElement('col'));
  }
}

function getClass_96(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit;
}

function HTMLTable$ColumnFormatter(){
}

_ = HTMLTable$ColumnFormatter.prototype = new Object_0;
_.getClass$ = getClass_96;
_.typeId$ = 0;
_.columnGroup = null;
_.this$0 = null;
function $clinit_184(){
  $clinit_184 = nullMethod;
  $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant, 'center');
  ALIGN_LEFT = $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant, 'left');
  $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant, 'right');
  ALIGN_DEFAULT = ALIGN_LEFT;
}

var ALIGN_DEFAULT, ALIGN_LEFT;
function $HasHorizontalAlignment$HorizontalAlignmentConstant(this$static, textAlignString){
  this$static.textAlignString = textAlignString;
  return this$static;
}

function getClass_97(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit;
}

function HasHorizontalAlignment$HorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$HorizontalAlignmentConstant.prototype = new Object_0;
_.getClass$ = getClass_97;
_.typeId$ = 0;
_.textAlignString = null;
function $clinit_188(){
  $clinit_188 = nullMethod;
  $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant, 'bottom');
  $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant, 'middle');
  ALIGN_TOP = $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant, 'top');
}

var ALIGN_TOP;
function $HasVerticalAlignment$VerticalAlignmentConstant(this$static, verticalAlignString){
  this$static.verticalAlignString = verticalAlignString;
  return this$static;
}

function getClass_98(){
  return Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit;
}

function HasVerticalAlignment$VerticalAlignmentConstant(){
}

_ = HasVerticalAlignment$VerticalAlignmentConstant.prototype = new Object_0;
_.getClass$ = getClass_98;
_.typeId$ = 0;
_.verticalAlignString = null;
function $HorizontalPanel(this$static){
  $CellPanel(this$static);
  this$static.horzAlign = ($clinit_184() , ALIGN_DEFAULT);
  this$static.vertAlign = ($clinit_188() , ALIGN_TOP);
  this$static.tableRow = ($clinit_26() , $doc).createElement('tr');
  this$static.body_0.appendChild(this$static.tableRow);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function $add_2(this$static, w){
  var td, td_0;
  td = (td_0 = ($clinit_26() , $doc).createElement('td') , td_0['align'] = this$static.horzAlign.textAlignString , td_0.style['verticalAlign'] = this$static.vertAlign.verticalAlignString , td_0);
  this$static.tableRow.appendChild(td);
  $removeFromParent(w);
  $add_4(this$static.children, w);
  td.appendChild(w.element);
  $setParent(w, this$static);
}

function add_3(w){
  $add_2(this, w);
}

function getClass_99(){
  return Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit;
}

function remove_3(w){
  var removed, td;
  td = getParent(w.element);
  removed = $remove_0(this, w);
  removed && this.tableRow.removeChild(td);
  return removed;
}

function HorizontalPanel(){
}

_ = HorizontalPanel.prototype = new CellPanel;
_.add_0 = add_3;
_.getClass$ = getClass_99;
_.remove = remove_3;
_.typeId$ = 49;
_.tableRow = null;
function $ListBox(this$static){
  var select;
  $FocusWidget(this$static, (select = ($clinit_26() , $doc).createElement('select') , select));
  this$static.element['className'] = 'gwt-ListBox';
  return this$static;
}

function $checkIndex(this$static, index){
  if (index < 0 || index >= ($clinit_26() , this$static.element).options.length) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException);
  }
}

function $getValue_0(this$static, index){
  $checkIndex(this$static, index);
  return ($clinit_26() , this$static.element).options[index].value;
}

function $insertItem(this$static, item, value, index){
  var before, option, select;
  select = this$static.element;
  option = ($clinit_26() , $doc).createElement('option');
  option.text = item;
  option.value = value;
  if (index == -1 || index == select.options.length) {
    select.add(option, null);
  }
   else {
    before = select.options[index];
    select.add(option, before);
  }
}

function getClass_100(){
  return Lcom_google_gwt_user_client_ui_ListBox_2_classLit;
}

function ListBox(){
}

_ = ListBox.prototype = new FocusWidget;
_.getClass$ = getClass_100;
_.typeId$ = 50;
function $clinit_196(){
  $clinit_196 = nullMethod;
  maybeDetachCommand = new RootPanel$1;
  rootPanels = $HashMap(new HashMap);
  widgetsToDetach = $HashSet(new HashSet);
}

function $RootPanel(this$static, elem){
  $clinit_196();
  this$static.children = $WidgetCollection(new WidgetCollection, this$static);
  this$static.element = elem;
  $onAttach(this$static);
  return this$static;
}

function detachNow(widget){
  $clinit_196();
  try {
    widget.onDetach();
  }
   finally {
    $remove_6(widgetsToDetach.map, widget) != null;
  }
}

function detachWidgets(){
  $clinit_196();
  try {
    tryCommand(widgetsToDetach, maybeDetachCommand);
  }
   finally {
    $clearImpl(widgetsToDetach.map);
    $clearImpl(rootPanels);
  }
}

function get_0(id){
  $clinit_196();
  var rp;
  rp = dynamicCast($get_4(rootPanels, id), 31);
  if (rp) {
    return rp;
  }
  rootPanels.size == 0 && addCloseHandler(new RootPanel$2);
  rp = $RootPanel$DefaultRootPanel(new RootPanel$DefaultRootPanel);
  $put_0(rootPanels, id, rp);
  $add_6(widgetsToDetach, rp);
  return rp;
}

function getClass_101(){
  return Lcom_google_gwt_user_client_ui_RootPanel_2_classLit;
}

function RootPanel(){
}

_ = RootPanel.prototype = new AbsolutePanel;
_.getClass$ = getClass_101;
_.typeId$ = 51;
var maybeDetachCommand, rootPanels, widgetsToDetach;
function execute_4(w){
  w.isAttached() && w.onDetach();
}

function getClass_102(){
  return Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit;
}

function RootPanel$1(){
}

_ = RootPanel$1.prototype = new Object_0;
_.execute_0 = execute_4;
_.getClass$ = getClass_102;
_.typeId$ = 0;
function getClass_103(){
  return Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit;
}

function onClose_0(closeEvent){
  detachWidgets();
}

function RootPanel$2(){
}

_ = RootPanel$2.prototype = new Object_0;
_.getClass$ = getClass_103;
_.onClose = onClose_0;
_.typeId$ = 52;
function $clinit_199(){
  $clinit_199 = nullMethod;
  $clinit_196();
}

function $RootPanel$DefaultRootPanel(this$static){
  $clinit_199();
  $RootPanel(this$static, $doc.body);
  return this$static;
}

function getClass_104(){
  return Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit;
}

function RootPanel$DefaultRootPanel(){
}

_ = RootPanel$DefaultRootPanel.prototype = new RootPanel;
_.getClass$ = getClass_104;
_.typeId$ = 53;
function $SimplePanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  this$static.hasElement = !!this$static.this$0.widget;
  return this$static;
}

function $next_1(this$static){
  if (!this$static.hasElement || !this$static.this$0.widget) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  this$static.hasElement = false;
  return this$static.this$0.widget;
}

function getClass_105(){
  return Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit;
}

function hasNext_1(){
  return this.hasElement;
}

function next_2(){
  return $next_1(this);
}

function SimplePanel$1(){
}

_ = SimplePanel$1.prototype = new Object_0;
_.getClass$ = getClass_105;
_.hasNext = hasNext_1;
_.next_0 = next_2;
_.typeId$ = 0;
_.this$0 = null;
function $VerticalPanel(this$static){
  $CellPanel(this$static);
  this$static.horzAlign = ($clinit_184() , ALIGN_DEFAULT);
  this$static.vertAlign = ($clinit_188() , ALIGN_TOP);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function $add_3(this$static, w){
  var td, tr, td_0;
  tr = ($clinit_26() , $doc).createElement('tr');
  td = (td_0 = $doc.createElement('td') , td_0['align'] = this$static.horzAlign.textAlignString , td_0.style['verticalAlign'] = this$static.vertAlign.verticalAlignString , td_0);
  tr.appendChild(td);
  this$static.body_0.appendChild(tr);
  $removeFromParent(w);
  $add_4(this$static.children, w);
  td.appendChild(w.element);
  $setParent(w, this$static);
}

function add_4(w){
  $add_3(this, w);
}

function getClass_106(){
  return Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit;
}

function remove_4(w){
  var removed, td, parent_1;
  td = getParent(w.element);
  removed = $remove_0(this, w);
  removed && this.body_0.removeChild((parent_1 = ($clinit_26() , td).parentNode , (!parent_1 || parent_1.nodeType != 1) && (parent_1 = null) , parent_1));
  return removed;
}

function VerticalPanel(){
}

_ = VerticalPanel.prototype = new CellPanel;
_.add_0 = add_4;
_.getClass$ = getClass_106;
_.remove = remove_4;
_.typeId$ = 54;
function $WidgetCollection(this$static, parent_0){
  this$static.parent_0 = parent_0;
  this$static.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 0, 14, 4, 0);
  return this$static;
}

function $add_4(this$static, w){
  $insert(this$static, w, this$static.size);
}

function $indexOf(this$static, w){
  var i;
  for (i = 0; i < this$static.size; ++i) {
    if (this$static.array[i] == w) {
      return i;
    }
  }
  return -1;
}

function $insert(this$static, w, beforeIndex){
  var i, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException);
  }
  if (this$static.size == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 0, 14, this$static.array.length * 2, 0);
    for (i = 0; i < this$static.array.length; ++i) {
      setCheck(newArray, i, this$static.array[i]);
    }
    this$static.array = newArray;
  }
  ++this$static.size;
  for (i = this$static.size - 1; i > beforeIndex; --i) {
    setCheck(this$static.array, i, this$static.array[i - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_3(this$static, index){
  var i;
  if (index < 0 || index >= this$static.size) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException);
  }
  --this$static.size;
  for (i = index; i < this$static.size; ++i) {
    setCheck(this$static.array, i, this$static.array[i + 1]);
  }
  setCheck(this$static.array, this$static.size, null);
}

function $remove_4(this$static, w){
  var index;
  index = $indexOf(this$static, w);
  if (index == -1) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  $remove_3(this$static, index);
}

function getClass_107(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit;
}

function iterator_2(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator, this);
}

function WidgetCollection(){
}

_ = WidgetCollection.prototype = new Object_0;
_.getClass$ = getClass_107;
_.iterator_0 = iterator_2;
_.typeId$ = 0;
_.array = null;
_.parent_0 = null;
_.size = 0;
function $WidgetCollection$WidgetIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $next_2(this$static){
  if (this$static.index_0 >= this$static.this$0.size) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  return this$static.this$0.array[++this$static.index_0];
}

function $remove_5(this$static){
  if (this$static.index_0 < 0 || this$static.index_0 >= this$static.this$0.size) {
    throw $IllegalStateException(new IllegalStateException);
  }
  this$static.this$0.parent_0.remove(this$static.this$0.array[this$static.index_0--]);
}

function getClass_108(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit;
}

function hasNext_2(){
  return this.index_0 < this.this$0.size - 1;
}

function next_3(){
  return $next_2(this);
}

function WidgetCollection$WidgetIterator(){
}

_ = WidgetCollection$WidgetIterator.prototype = new Object_0;
_.getClass$ = getClass_108;
_.hasNext = hasNext_2;
_.next_0 = next_3;
_.typeId$ = 0;
_.index_0 = -1;
_.this$0 = null;
function $getContents(iframe){
  try {
    if (!iframe.contentWindow || !iframe.contentWindow.document)
      return null;
    return iframe.contentWindow.document.body.innerHTML;
  }
   catch (e) {
    return null;
  }
}

--></script>
<script><!--
function $hookEvents(iframe, form, listener){
  iframe && (iframe.onload = $entry(function(){
    if (!iframe.__formAction)
      return;
    listener.onFrameLoad();
  }
  ));
  form.onsubmit = $entry(function(){
    iframe && (iframe.__formAction = form.action);
    return listener.onFormSubmit();
  }
  );
}

function $setEncoding(form, encoding){
  form.enctype = encoding;
  form.encoding = encoding;
}

function $submit_1(form, iframe){
  iframe && (iframe.__formAction = form.action);
  form.submit();
}

function $unhookEvents(iframe, form){
  iframe && (iframe.onload = null);
  form.onsubmit = null;
}

function $clearOnReadyStateChange(this$static){
  var self_0 = this$static;
  $wnd.setTimeout(function(){
    self_0.onreadystatechange = new Function;
  }
  , 0);
}

function $setOnReadyStateChange(this$static, handler){
  var _this = this$static;
  this$static.onreadystatechange = $entry(function(){
    handler.onReadyStateChange(_this);
  }
  );
}

function create_0(){
  if ($wnd.XMLHttpRequest) {
    return new XMLHttpRequest;
  }
   else {
    try {
      return new ActiveXObject('MSXML2.XMLHTTP.3.0');
    }
     catch (e) {
      return new ActiveXObject('Microsoft.XMLHTTP');
    }
  }
}

function $ArrayStoreException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_109(){
  return Ljava_lang_ArrayStoreException_2_classLit;
}

function ArrayStoreException(){
}

_ = ArrayStoreException.prototype = new RuntimeException;
_.getClass$ = getClass_109;
_.typeId$ = 56;
function $clinit_219(){
  $clinit_219 = nullMethod;
  $Boolean(new Boolean_0, false);
  TRUE_0 = $Boolean(new Boolean_0, true);
}

function $Boolean(this$static, value){
  $clinit_219();
  this$static.value_0 = value;
  return this$static;
}

function equals_5(o){
  return o != null && canCast(o.typeId$, 33) && dynamicCast(o, 33).value_0 == this.value_0;
}

function getClass_110(){
  return Ljava_lang_Boolean_2_classLit;
}

function hashCode_7(){
  return this.value_0?1231:1237;
}

function toString_14(){
  return this.value_0?'true':'false';
}

function Boolean_0(){
}

_ = Boolean_0.prototype = new Object_0;
_.equals$ = equals_5;
_.getClass$ = getClass_110;
_.hashCode$ = hashCode_7;
_.toString$ = toString_14;
_.typeId$ = 59;
_.value_0 = false;
var TRUE_0;
function createForArray(packageName, className){
  var clazz;
  clazz = new Class;
  clazz.typeName = packageName + className;
  clazz.modifiers = 4;
  return clazz;
}

function createForClass(packageName, className){
  var clazz;
  clazz = new Class;
  clazz.typeName = packageName + className;
  return clazz;
}

function getClass_111(){
  return Ljava_lang_Class_2_classLit;
}

function toString_15(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}

function Class(){
}

_ = Class.prototype = new Object_0;
_.getClass$ = getClass_111;
_.toString$ = toString_15;
_.typeId$ = 0;
_.modifiers = 0;
_.typeName = null;
function $ClassCastException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_112(){
  return Ljava_lang_ClassCastException_2_classLit;
}

function ClassCastException(){
}

_ = ClassCastException.prototype = new RuntimeException;
_.getClass$ = getClass_112;
_.typeId$ = 60;
function getClass_113(){
  return Ljava_lang_Number_2_classLit;
}

function Number_0(){
}

_ = Number_0.prototype = new Object_0;
_.getClass$ = getClass_113;
_.typeId$ = 61;
function $Double(this$static, value){
  this$static.value_0 = value;
  return this$static;
}

function equals_6(o){
  return o != null && canCast(o.typeId$, 34) && dynamicCast(o, 34).value_0 == this.value_0;
}

function getClass_114(){
  return Ljava_lang_Double_2_classLit;
}

function hashCode_8(){
  return ~~Math.max(Math.min(this.value_0, 2147483647), -2147483648);
}

function toString_16(){
  return '' + this.value_0;
}

function Double(){
}

_ = Double.prototype = new Number_0;
_.equals$ = equals_6;
_.getClass$ = getClass_114;
_.hashCode$ = hashCode_8;
_.toString$ = toString_16;
_.typeId$ = 62;
_.value_0 = 0;
function $IllegalArgumentException(this$static){
  $fillInStackTrace();
  return this$static;
}

function $IllegalArgumentException_0(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_115(){
  return Ljava_lang_IllegalArgumentException_2_classLit;
}

function IllegalArgumentException(){
}

_ = IllegalArgumentException.prototype = new RuntimeException;
_.getClass$ = getClass_115;
_.typeId$ = 63;
function $IllegalStateException(this$static){
  $fillInStackTrace();
  return this$static;
}

function $IllegalStateException_0(this$static, s){
  $fillInStackTrace();
  this$static.detailMessage = s;
  return this$static;
}

function getClass_116(){
  return Ljava_lang_IllegalStateException_2_classLit;
}

function IllegalStateException(){
}

_ = IllegalStateException.prototype = new RuntimeException;
_.getClass$ = getClass_116;
_.typeId$ = 64;
function $IndexOutOfBoundsException(this$static){
  $fillInStackTrace();
  return this$static;
}

function $IndexOutOfBoundsException_0(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_117(){
  return Ljava_lang_IndexOutOfBoundsException_2_classLit;
}

function IndexOutOfBoundsException(){
}

_ = IndexOutOfBoundsException.prototype = new RuntimeException;
_.getClass$ = getClass_117;
_.typeId$ = 65;
function toPowerOfTwoString(value, shift){
  var bitMask, buf, bufSize, digits, pos;
  bufSize = ~~(32 / shift);
  bitMask = (1 << shift) - 1;
  buf = initDim(_3C_classLit, 0, -1, bufSize, 1);
  digits = ($clinit_234() , digits_0);
  pos = bufSize - 1;
  if (value >= 0) {
    while (value > bitMask) {
      buf[pos--] = digits[value & bitMask];
      value >>= shift;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = digits[value & bitMask];
      value >>= shift;
    }
  }
  buf[pos] = digits[value & bitMask];
  return __valueOf(buf, pos, bufSize);
}

function $NullPointerException(this$static){
  $fillInStackTrace();
  return this$static;
}

function $NullPointerException_0(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_118(){
  return Ljava_lang_NullPointerException_2_classLit;
}

function NullPointerException(){
}

_ = NullPointerException.prototype = new RuntimeException;
_.getClass$ = getClass_118;
_.typeId$ = 66;
function $clinit_234(){
  $clinit_234 = nullMethod;
  digits_0 = initValues(_3C_classLit, 0, -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits_0;
function $StackTraceElement(this$static, className, methodName, fileName, lineNumber){
  this$static.className_0 = className;
  this$static.methodName = methodName;
  this$static.fileName = fileName;
  this$static.lineNumber = lineNumber;
  return this$static;
}

function getClass_119(){
  return Ljava_lang_StackTraceElement_2_classLit;
}

function toString_17(){
  return this.className_0 + '.' + this.methodName + '(' + this.fileName + ':' + this.lineNumber + ')';
}

function StackTraceElement(){
}

_ = StackTraceElement.prototype = new Object_0;
_.getClass$ = getClass_119;
_.toString$ = toString_17;
_.typeId$ = 67;
_.className_0 = null;
_.fileName = null;
_.lineNumber = 0;
_.methodName = null;
function $equals_1(this$static, other){
  if (!(other != null && canCast(other.typeId$, 1))) {
    return false;
  }
  return String(this$static) == other;
}

function $equalsIgnoreCase(this$static, other){
  if (other == null)
    return false;
  return this$static == other || this$static.toLowerCase() == other.toLowerCase();
}

function $split(this$static, regex, maxMatch){
  var compiled = new RegExp(regex, 'g');
  var out = [];
  var count = 0;
  var trail = this$static;
  var lastTrail = null;
  while (true) {
    var matchObj = compiled.exec(trail);
    if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) {
      out[count] = trail;
      break;
    }
     else {
      out[count] = trail.substring(0, matchObj.index);
      trail = trail.substring(matchObj.index + matchObj[0].length, trail.length);
      compiled.lastIndex = 0;
      if (lastTrail == trail) {
        out[count] = trail.substring(0, 1);
        trail = trail.substring(1);
      }
      lastTrail = trail;
      count++;
    }
  }
  if (maxMatch == 0) {
    var lastNonEmpty = out.length;
    while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') {
      --lastNonEmpty;
    }
    lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty);
  }
  var jr = initDim(_3Ljava_lang_String_2_classLit, 0, 1, out.length, 0);
  for (var i = 0; i < out.length; ++i) {
    jr[i] = out[i];
  }
  return jr;
}

function $substring(this$static, beginIndex){
  return this$static.substr(beginIndex, this$static.length - beginIndex);
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __valueOf(x, start, end){
  x = x.slice(start, end);
  return String.fromCharCode.apply(null, x);
}

function equals_7(other){
  return $equals_1(this, other);
}

function getClass_120(){
  return Ljava_lang_String_2_classLit;
}

function hashCode_9(){
  return getHashCode_0(this);
}

function toString_18(){
  return this;
}

_ = String.prototype;
_.equals$ = equals_7;
_.getClass$ = getClass_120;
_.hashCode$ = hashCode_9;
_.toString$ = toString_18;
_.typeId$ = 2;
function $clinit_237(){
  $clinit_237 = nullMethod;
  back = {};
  front = {};
}

function compute(str){
  var hashCode, i, n, nBatch;
  hashCode = 0;
  n = str.length;
  nBatch = n - 4;
  i = 0;
  while (i < nBatch) {
    hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))) | 0;
    i += 4;
  }
  while (i < n) {
    hashCode = hashCode * 31 + str.charCodeAt(i++);
  }
  return hashCode | 0;
}

function getHashCode_0(str){
  $clinit_237();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back[key];
  result == null && (result = compute(str));
  increment();
  return front[key] = result;
}

function increment(){
  if (count_0 == 256) {
    back = front;
    front = {};
    count_0 = 0;
  }
  ++count_0;
}

var back, count_0 = 0, front;
function $StringBuffer(this$static){
  this$static.impl = new StringBufferImplAppend;
  return this$static;
}

function $append_1(this$static, x){
  this$static.impl.string += x;
  return this$static;
}

function $append_2(this$static, x){
  this$static.impl.string += x;
  return this$static;
}

function getClass_121(){
  return Ljava_lang_StringBuffer_2_classLit;
}

function toString_19(){
  return this.impl.string;
}

function StringBuffer(){
}

_ = StringBuffer.prototype = new Object_0;
_.getClass$ = getClass_121;
_.toString$ = toString_19;
_.typeId$ = 68;
function $UnsupportedOperationException(this$static, message){
  $fillInStackTrace();
  this$static.detailMessage = message;
  return this$static;
}

function getClass_122(){
  return Ljava_lang_UnsupportedOperationException_2_classLit;
}

function UnsupportedOperationException(){
}

_ = UnsupportedOperationException.prototype = new RuntimeException;
_.getClass$ = getClass_122;
_.typeId$ = 69;
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_0();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function $toString_4(this$static){
  var comma, iter, sb;
  sb = $StringBuffer(new StringBuffer);
  comma = null;
  sb.impl.string += '[';
  iter = this$static.iterator_0();
  while (iter.hasNext()) {
    comma != null?(sb.impl.string += comma , undefined):(comma = ', ');
    $append_2(sb, '' + iter.next_0());
  }
  sb.impl.string += ']';
  return sb.impl.string;
}

function add_5(o){
  throw $UnsupportedOperationException(new UnsupportedOperationException, 'Add not supported on this collection');
}

function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  return !!iter;
}

function getClass_123(){
  return Ljava_util_AbstractCollection_2_classLit;
}

function toArray(a){
  var i, it, result, size;
  size = this.size_0();
  a.length < size && (a = createFrom(a, size));
  result = a;
  it = this.iterator_0();
  for (i = 0; i < size; ++i) {
    setCheck(result, i, it.next_0());
  }
  a.length > size && setCheck(a, size, null);
  return a;
}

function toString_20(){
  return $toString_4(this);
}

function AbstractCollection(){
}

_ = AbstractCollection.prototype = new Object_0;
_.add_1 = add_5;
_.contains = contains;
_.getClass$ = getClass_123;
_.toArray = toArray;
_.toString$ = toString_20;
_.typeId$ = 0;
function $keySet(this$static){
  var entrySet;
  entrySet = $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, this$static);
  return $AbstractMap$1(new AbstractMap$1, this$static, entrySet);
}

function equals_8(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if ((obj == null?null:obj) === this) {
    return true;
  }
  if (!(obj != null && canCast(obj.typeId$, 36))) {
    return false;
  }
  otherMap = dynamicCast(obj, 36);
  if (dynamicCast(this, 36).size != otherMap.size) {
    return false;
  }
  for (entry$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, otherMap).this$0); $hasNext_3(entry$iterator.iter);) {
    entry = dynamicCast($next_5(entry$iterator.iter), 23);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!(otherKey == null?dynamicCast(this, 36).nullSlotLive:otherKey != null && canCast(otherKey.typeId$, 1)?$hasStringValue(dynamicCast(this, 36), dynamicCast(otherKey, 1)):$hasHashValue(dynamicCast(this, 36), otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, otherKey == null?dynamicCast(this, 36).nullSlot:otherKey != null && canCast(otherKey.typeId$, 1)?dynamicCast(this, 36).stringMap[':' + dynamicCast(otherKey, 1)]:$getHashValue(dynamicCast(this, 36), otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
  }
  return true;
}

function getClass_124(){
  return Ljava_util_AbstractMap_2_classLit;
}

function hashCode_10(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, dynamicCast(this, 36)).this$0); $hasNext_3(entry$iterator.iter);) {
    entry = dynamicCast($next_5(entry$iterator.iter), 23);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}

function toString_21(){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet, dynamicCast(this, 36)).this$0); $hasNext_3(iter.iter);) {
    entry = dynamicCast($next_5(iter.iter), 23);
    comma?(s += ', '):(comma = true);
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue();
  }
  return s + '}';
}

function AbstractMap(){
}

_ = AbstractMap.prototype = new Object_0;
_.equals$ = equals_8;
_.getClass$ = getClass_124;
_.hashCode$ = hashCode_10;
_.toString$ = toString_21;
_.typeId$ = 0;
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    if (hashCode == parseInt(hashCode)) {
      var array = hashCodeMap[hashCode];
      for (var i = 0, c = array.length; i < c; ++i) {
        dest.add_1(array[i]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new_$_1(this$static, key.substring(1));
      dest.add_1(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size = 0;
}

function $containsKey(this$static, key){
  return key == null?this$static.nullSlotLive:key != null && canCast(key.typeId$, 1)?$hasStringValue(this$static, dynamicCast(key, 1)):$hasHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $get_4(this$static, key){
  return key == null?this$static.nullSlot:key != null && canCast(key.typeId$, 1)?this$static.stringMap[':' + dynamicCast(key, 1)]:$getHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue();
      }
    }
  }
  return null;
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $hasStringValue(this$static, key){
  return ':' + key in this$static.stringMap;
}

function $put_0(this$static, key, value){
  return key == null?$putNullSlot(this$static, value):key != null && canCast(key.typeId$, 1)?$putStringValue(this$static, dynamicCast(key, 1), value):$putHashValue(this$static, key, value, ~~hashCode__devirtual$(key));
}

function $putHashValue(this$static, key, value, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue();
        entry.setValue(value);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = $MapEntryImpl(new MapEntryImpl, key, value);
  array.push(entry);
  ++this$static.size;
  return null;
}

function $putNullSlot(this$static, value){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size;
  }
  return result;
}

function $putStringValue(this$static, key, value){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  key in stringMap?(result = stringMap[key]):++this$static.size;
  stringMap[key] = value;
  return result;
}

function $remove_6(this$static, key){
  return !key?$removeNullSlot(this$static):$removeHashValue(this$static, key, ~~(key.$H || (key.$H = ++sNextHashId)));
}

function $removeHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        array.length == 1?delete this$static.hashCodeMap[hashCode]:array.splice(i, 1);
        --this$static.size;
        return entry.getValue();
      }
    }
  }
  return null;
}

function $removeNullSlot(this$static){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = null;
  if (this$static.nullSlotLive) {
    this$static.nullSlotLive = false;
    --this$static.size;
  }
  return result;
}

function equalsBridge(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_125(){
  return Ljava_util_AbstractHashMap_2_classLit;
}

function AbstractHashMap(){
}

_ = AbstractHashMap.prototype = new AbstractMap;
_.equalsBridge = equalsBridge;
_.getClass$ = getClass_125;
_.typeId$ = 0;
_.hashCodeMap = null;
_.nullSlot = null;
_.nullSlotLive = false;
_.size = 0;
_.stringMap = null;
function equals_9(o){
  var iter, other, otherItem;
  if ((o == null?null:o) === this) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 37))) {
    return false;
  }
  other = dynamicCast(o, 37);
  if (other.size_0() != this.size_0()) {
    return false;
  }
  for (iter = other.iterator_0(); iter.hasNext();) {
    otherItem = iter.next_0();
    if (!this.contains(otherItem)) {
      return false;
    }
  }
  return true;
}

function getClass_126(){
  return Ljava_util_AbstractSet_2_classLit;
}

function hashCode_11(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator_0(); iter.hasNext();) {
    next = iter.next_0();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}

function AbstractSet(){
}

_ = AbstractSet.prototype = new AbstractCollection;
_.equals$ = equals_9;
_.getClass$ = getClass_126;
_.hashCode$ = hashCode_11;
_.typeId$ = 70;
function $AbstractHashMap$EntrySet(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $contains(this$static, o){
  var entry, key, value;
  if (o != null && canCast(o.typeId$, 23)) {
    entry = dynamicCast(o, 23);
    key = entry.getKey();
    if ($containsKey(this$static.this$0, key)) {
      value = $get_4(this$static.this$0, key);
      return $equals_2(entry.getValue(), value);
    }
  }
  return false;
}

function contains_0(o){
  return $contains(this, o);
}

function getClass_127(){
  return Ljava_util_AbstractHashMap$EntrySet_2_classLit;
}

function iterator_3(){
  return $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, this.this$0);
}

function size_0(){
  return this.this$0.size;
}

function AbstractHashMap$EntrySet(){
}

_ = AbstractHashMap$EntrySet.prototype = new AbstractSet;
_.contains = contains_0;
_.getClass$ = getClass_127;
_.iterator_0 = iterator_3;
_.size_0 = size_0;
_.typeId$ = 71;
_.this$0 = null;
function $AbstractHashMap$EntrySetIterator(this$static, this$0){
  var list;
  this$static.this$0 = this$0;
  list = $ArrayList(new ArrayList);
  this$static.this$0.nullSlotLive && $add_5(list, $AbstractHashMap$MapEntryNull(new AbstractHashMap$MapEntryNull, this$static.this$0));
  $addAllStringEntries(this$static.this$0, list);
  $addAllHashEntries(this$static.this$0, list);
  this$static.iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, list);
  return this$static;
}

function getClass_128(){
  return Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit;
}

function hasNext_3(){
  return $hasNext_3(this.iter);
}

function next_4(){
  return dynamicCast($next_5(this.iter), 23);
}

function AbstractHashMap$EntrySetIterator(){
}

_ = AbstractHashMap$EntrySetIterator.prototype = new Object_0;
_.getClass$ = getClass_128;
_.hasNext = hasNext_3;
_.next_0 = next_4;
_.typeId$ = 0;
_.iter = null;
_.this$0 = null;
function equals_10(other){
  var entry;
  if (other != null && canCast(other.typeId$, 23)) {
    entry = dynamicCast(other, 23);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue(), entry.getValue())) {
      return true;
    }
  }
  return false;
}

function getClass_129(){
  return Ljava_util_AbstractMapEntry_2_classLit;
}

function hashCode_12(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  this.getKey() != null && (keyHash = hashCode__devirtual$(this.getKey()));
  this.getValue() != null && (valueHash = hashCode__devirtual$(this.getValue()));
  return keyHash ^ valueHash;
}

function toString_22(){
  return this.getKey() + '=' + this.getValue();
}

function AbstractMapEntry(){
}

_ = AbstractMapEntry.prototype = new Object_0;
_.equals$ = equals_10;
_.getClass$ = getClass_129;
_.hashCode$ = hashCode_12;
_.toString$ = toString_22;
_.typeId$ = 72;
function $AbstractHashMap$MapEntryNull(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_130(){
  return Ljava_util_AbstractHashMap$MapEntryNull_2_classLit;
}

function getKey(){
  return null;
}

function getValue(){
  return this.this$0.nullSlot;
}

function setValue(object){
  return $putNullSlot(this.this$0, object);
}

function AbstractHashMap$MapEntryNull(){
}

_ = AbstractHashMap$MapEntryNull.prototype = new AbstractMapEntry;
_.getClass$ = getClass_130;
_.getKey = getKey;
_.getValue = getValue;
_.setValue = setValue;
_.typeId$ = 73;
_.this$0 = null;
function $AbstractHashMap$MapEntryString(this$static, key, this$0){
  this$static.this$0 = this$0;
  this$static.key = key;
  return this$static;
}

function getClass_131(){
  return Ljava_util_AbstractHashMap$MapEntryString_2_classLit;
}

function getKey_0(){
  return this.key;
}

function getValue_0(){
  return this.this$0.stringMap[':' + this.key];
}

function new_$_1(this$outer, key){
  return $AbstractHashMap$MapEntryString(new AbstractHashMap$MapEntryString, key, this$outer);
}

function setValue_0(object){
  return $putStringValue(this.this$0, this.key, object);
}

function AbstractHashMap$MapEntryString(){
}

_ = AbstractHashMap$MapEntryString.prototype = new AbstractMapEntry;
_.getClass$ = getClass_131;
_.getKey = getKey_0;
_.getValue = getValue_0;
_.setValue = setValue_0;
_.typeId$ = 74;
_.key = null;
_.this$0 = null;
function add_6(obj){
  this.add_2(this.size_0(), obj);
  return true;
}

function add_7(index, element){
  throw $UnsupportedOperationException(new UnsupportedOperationException, 'Add not supported on this list');
}

function checkIndex(index, size){
  (index < 0 || index >= size) && indexOutOfBounds(index, size);
}

function equals_11(o){
  var elem, elemOther, iter, iterOther, other;
  if ((o == null?null:o) === this) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 35))) {
    return false;
  }
  other = dynamicCast(o, 35);
  if (this.size_0() != other.size_0()) {
    return false;
  }
  iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this);
  iterOther = other.iterator_0();
  while (iter.i < iter.this$0.size_0()) {
    elem = $next_5(iter);
    elemOther = $next_5(iterOther);
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}

function getClass_132(){
  return Ljava_util_AbstractList_2_classLit;
}

function hashCode_13(){
  var iter, k, obj;
  k = 1;
  iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this);
  while (iter.i < iter.this$0.size_0()) {
    obj = $next_5(iter);
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
    k = ~~k;
  }
  return k;
}

function indexOutOfBounds(index, size){
  throw $IndexOutOfBoundsException_0(new IndexOutOfBoundsException, 'Index: ' + index + ', Size: ' + size);
}

function iterator_4(){
  return $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this);
}

function AbstractList(){
}

_ = AbstractList.prototype = new AbstractCollection;
_.add_1 = add_6;
_.add_2 = add_7;
_.equals$ = equals_11;
_.getClass$ = getClass_132;
_.hashCode$ = hashCode_13;
_.iterator_0 = iterator_4;
_.typeId$ = 75;
function $AbstractList$IteratorImpl(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $hasNext_3(this$static){
  return this$static.i < this$static.this$0.size_0();
}

function $next_5(this$static){
  if (this$static.i >= this$static.this$0.size_0()) {
    throw $NoSuchElementException(new NoSuchElementException);
  }
  return this$static.this$0.get(this$static.i++);
}

function getClass_133(){
  return Ljava_util_AbstractList$IteratorImpl_2_classLit;
}

function hasNext_4(){
  return this.i < this.this$0.size_0();
}

function next_5(){
  return $next_5(this);
}

function AbstractList$IteratorImpl(){
}

_ = AbstractList$IteratorImpl.prototype = new Object_0;
_.getClass$ = getClass_133;
_.hasNext = hasNext_4;
_.next_0 = next_5;
_.typeId$ = 0;
_.i = 0;
_.this$0 = null;
function $AbstractMap$1(this$static, this$0, val$entrySet){
  this$static.this$0 = this$0;
  this$static.val$entrySet = val$entrySet;
  return this$static;
}

function contains_1(key){
  return $containsKey(this.this$0, key);
}

function getClass_134(){
  return Ljava_util_AbstractMap$1_2_classLit;
}

function iterator_5(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, this.val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1, outerIter);
}

function size_1(){
  return this.val$entrySet.this$0.size;
}

function AbstractMap$1(){
}

_ = AbstractMap$1.prototype = new AbstractSet;
_.contains = contains_1;
_.getClass$ = getClass_134;
_.iterator_0 = iterator_5;
_.size_0 = size_1;
_.typeId$ = 76;
_.this$0 = null;
_.val$entrySet = null;
function $AbstractMap$1$1(this$static, val$outerIter){
  this$static.val$outerIter = val$outerIter;
  return this$static;
}

function getClass_135(){
  return Ljava_util_AbstractMap$1$1_2_classLit;
}

function hasNext_5(){
  return $hasNext_3(this.val$outerIter.iter);
}

function next_6(){
  var entry;
  entry = dynamicCast($next_5(this.val$outerIter.iter), 23);
  return entry.getKey();
}

function AbstractMap$1$1(){
}

_ = AbstractMap$1$1.prototype = new Object_0;
_.getClass$ = getClass_135;
_.hasNext = hasNext_5;
_.next_0 = next_6;
_.typeId$ = 0;
_.val$outerIter = null;
function $ArrayList(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 0, 0, 0, 0);
  return this$static;
}

--></script>
<script><!--
function $ArrayList_0(this$static, initialCapacity){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 0, 0, 0, 0);
  this$static.array.length = initialCapacity;
  return this$static;
}

function $add_5(this$static, o){
  setCheck(this$static.array, this$static.size++, o);
  return true;
}

function $get_5(this$static, index){
  checkIndex(index, this$static.size);
  return this$static.array[index];
}

function $indexOf_2(this$static, o, index){
  for (; index < this$static.size; ++index) {
    if (equalsWithNullCheck(o, this$static.array[index])) {
      return index;
    }
  }
  return -1;
}

function $remove_7(this$static, index){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  this$static.array.splice(index, 1);
  --this$static.size;
  return previous;
}

function $remove_8(this$static, o){
  var i;
  i = $indexOf_2(this$static, o, 0);
  if (i == -1) {
    return false;
  }
  $remove_7(this$static, i);
  return true;
}

function $set_1(this$static, index, o){
  var previous;
  previous = (checkIndex(index, this$static.size) , this$static.array[index]);
  setCheck(this$static.array, index, o);
  return previous;
}

function add_8(o){
  return setCheck(this.array, this.size++, o) , true;
}

function add_9(index, o){
  (index < 0 || index > this.size) && indexOutOfBounds(index, this.size);
  this.array.splice(index, 0, o);
  ++this.size;
}

function contains_2(o){
  return $indexOf_2(this, o, 0) != -1;
}

function get_1(index){
  return checkIndex(index, this.size) , this.array[index];
}

function getClass_136(){
  return Ljava_util_ArrayList_2_classLit;
}

function size_2(){
  return this.size;
}

function toArray_0(out){
  var i, a, result;
  out.length < this.size && (out = (a = out , result = createFromSeed(0, this.size) , initValues(a.arrayClass$, a.typeId$, a.queryId$, result) , result));
  for (i = 0; i < this.size; ++i) {
    setCheck(out, i, this.array[i]);
  }
  out.length > this.size && setCheck(out, this.size, null);
  return out;
}

function ArrayList(){
}

_ = ArrayList.prototype = new AbstractList;
_.add_1 = add_8;
_.add_2 = add_9;
_.contains = contains_2;
_.get = get_1;
_.getClass$ = getClass_136;
_.size_0 = size_2;
_.toArray = toArray_0;
_.typeId$ = 77;
_.size = 0;
function $HashMap(this$static){
  $clearImpl(this$static);
  return this$static;
}

function $equals_2(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_137(){
  return Ljava_util_HashMap_2_classLit;
}

function HashMap(){
}

_ = HashMap.prototype = new AbstractHashMap;
_.getClass$ = getClass_137;
_.typeId$ = 78;
function $HashSet(this$static){
  this$static.map = $HashMap(new HashMap);
  return this$static;
}

function $add_6(this$static, o){
  var old;
  old = $put_0(this$static.map, o, this$static);
  return old == null;
}

function add_10(o){
  var old;
  return old = $put_0(this.map, o, this) , old == null;
}

function contains_3(o){
  return $containsKey(this.map, o);
}

function getClass_138(){
  return Ljava_util_HashSet_2_classLit;
}

function iterator_6(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator, $keySet(this.map).val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1, outerIter);
}

function size_3(){
  return this.map.size;
}

function toString_23(){
  return $toString_4($keySet(this.map));
}

function HashSet(){
}

_ = HashSet.prototype = new AbstractSet;
_.add_1 = add_10;
_.contains = contains_3;
_.getClass$ = getClass_138;
_.iterator_0 = iterator_6;
_.size_0 = size_3;
_.toString$ = toString_23;
_.typeId$ = 79;
_.map = null;
function $MapEntryImpl(this$static, key, value){
  this$static.key = key;
  this$static.value_0 = value;
  return this$static;
}

function getClass_139(){
  return Ljava_util_MapEntryImpl_2_classLit;
}

function getKey_1(){
  return this.key;
}

function getValue_1(){
  return this.value_0;
}

function setValue_1(value){
  var old;
  old = this.value_0;
  this.value_0 = value;
  return old;
}

function MapEntryImpl(){
}

_ = MapEntryImpl.prototype = new AbstractMapEntry;
_.getClass$ = getClass_139;
_.getKey = getKey_1;
_.getValue = getValue_1;
_.setValue = setValue_1;
_.typeId$ = 80;
_.key = null;
_.value_0 = null;
function $NoSuchElementException(this$static){
  $fillInStackTrace();
  return this$static;
}

function getClass_140(){
  return Ljava_util_NoSuchElementException_2_classLit;
}

function NoSuchElementException(){
}

_ = NoSuchElementException.prototype = new RuntimeException;
_.getClass$ = getClass_140;
_.typeId$ = 81;
function equalsWithNullCheck(a, b){
  return (a == null?null:a) === (b == null?null:b) || a != null && equals__devirtual$(a, b);
}

function $onValueChange(event_0){
  var arg, arg$array, arg$index, arg$max, letters, p, parts, url, value, login;
  value = event_0.value_0;
  if ($equals_1(value, '')) {
    $clinit_196();
    $clear_0(get_0(null));
    login = $LoginClientImpl(new LoginClientImpl);
    $login(login, $wnd.location.href, new AxWaxUI$2);
  }
   else {
    url = '';
    letters = '';
    for (arg$array = $split(value, '&', 0) , arg$index = 0 , arg$max = arg$array.length; arg$index < arg$max; ++arg$index) {
      arg = arg$array[arg$index];
      parts = $split(arg, '=', 0);
      $equals_1(parts[0], 'solve')?(url = parts[1]):$equals_1(parts[0], 'letters') && (letters = parts[1]);
    }
    $clinit_196();
    $clear_0(get_0(null));
    p = $SolvePuzzlePresenter(new SolvePuzzlePresenter, url, letters, $LoginClientImpl(new LoginClientImpl), $PuzzleClientImpl(new PuzzleClientImpl), $SolvePuzzle(new SolvePuzzle));
    $go(p, get_0(null));
  }
}

function getClass_141(){
  return Ltps12_axwax_client_AxWaxUI$1_2_classLit;
}

function AxWaxUI$1(){
}

_ = AxWaxUI$1.prototype = new Object_0;
_.getClass$ = getClass_141;
_.typeId$ = 82;
function $onSuccess(result){
  var root;
  root = ($clinit_196() , get_0(null));
  $add_0(root, $SelectPuzzle(new SelectPuzzle));
  if (result.admin) {
    $add_0(root, $UploadPuzzle(new UploadPuzzle));
    $add_0(root, $Anchor_0(new Anchor, 'Log out', result.url));
  }
   else 
    result.loggedIn?$add_0(root, $Anchor_0(new Anchor, 'Log out', result.url)):$add_0(root, $Anchor_0(new Anchor, 'Log in', result.url));
}

function getClass_142(){
  return Ltps12_axwax_client_AxWaxUI$2_2_classLit;
}

function onFailure(caught){
  $add_0(($clinit_196() , get_0(null)), $Label_0(new Label, caught.getMessage()));
}

function onSuccess(p0){
  $onSuccess(p0);
}

function AxWaxUI$2(){
}

_ = AxWaxUI$2.prototype = new Object_0;
_.getClass$ = getClass_142;
_.onFailure = onFailure;
_.onSuccess = onSuccess;
_.typeId$ = 0;
function $LoginClientImpl(this$static){
  this$static.baseUrl = $moduleBase + 'login/';
  return this$static;
}

function $login(this$static, url, callback){
  var $e0, e, query, req, regexp;
  query = '?url=' + (throwIfNull('decodedURLComponent', url) , regexp = /%20/g , encodeURIComponent(url).replace(regexp, '+'));
  req = $RequestBuilder(new RequestBuilder, ($clinit_91() , GET), this$static.baseUrl + query);
  $setHeader(req, 'Accept', 'application/json');
  $setCallback(req, $LoginClientImpl$1(new LoginClientImpl$1, callback));
  try {
    throwIfNull('callback', req.callback);
    $doSend(req, req.requestData, req.callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 38)) {
      e = $e0;
      callback.onFailure(e);
    }
     else 
      throw $e0;
  }
}

function getClass_143(){
  return Ltps12_axwax_client_LoginClientImpl_2_classLit;
}

function LoginClientImpl(){
}

_ = LoginClientImpl.prototype = new Object_0;
_.getClass$ = getClass_143;
_.typeId$ = 0;
_.baseUrl = null;
function $LoginClientImpl$1(this$static, val$callback){
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_144(){
  return Ltps12_axwax_client_LoginClientImpl$1_2_classLit;
}

function onError(request, exception){
  this.val$callback.onFailure(exception);
}

function onResponseReceived(request, response){
  var o, res;
  o = parse(response.val$xmlHttpRequest.responseText).isObject();
  if (!o)
    this.val$callback.onFailure($Throwable(new Throwable, 'Response text did not contain JSON object'));
  else {
    res = new LoginClientImpl$LoginResults;
    res.loggedIn = $get_2(o, 'loggedin').isBoolean().value_0;
    res.admin = $get_2(o, 'admin').isBoolean().value_0;
    res.url = $get_2(o, 'url').isString().value_0;
    res.name_0 = $get_2(o, 'name').isString().value_0;
    this.val$callback.onSuccess(res);
  }
}

function LoginClientImpl$1(){
}

_ = LoginClientImpl$1.prototype = new Object_0;
_.getClass$ = getClass_144;
_.onError = onError;
_.onResponseReceived = onResponseReceived;
_.typeId$ = 0;
_.val$callback = null;
function getClass_145(){
  return Ltps12_axwax_client_LoginClientImpl$LoginResults_2_classLit;
}

function LoginClientImpl$LoginResults(){
}

_ = LoginClientImpl$LoginResults.prototype = new Object_0;
_.getClass$ = getClass_145;
_.typeId$ = 0;
_.admin = false;
_.loggedIn = false;
_.name_0 = null;
_.url = null;
function $PuzzleClient$BarredRectangularGrid(this$static, rs){
  var $e0, e, i, j, r, row, t;
  this$static.width = -1;
  try {
    this$static.height = rs.jsArray.length;
    this$static.rows_0 = $ArrayList_0(new ArrayList, this$static.height);
    for (i = 0; i < this$static.height; ++i) {
      r = $get_1(rs, i).isArray();
      if (this$static.width == -1)
        this$static.width = r.jsArray.length;
      else if (r.jsArray.length != this$static.width)
        throw $Exception(new Exception, 'Jagged grid not permitted');
      row = $ArrayList_0(new ArrayList, this$static.width);
      for (j = 0; j < this$static.width; ++j)
        $add_5(row, $PuzzleClient$Cell(new PuzzleClient$Cell, $get_1(r, j).isObject()));
      $add_5(this$static.rows_0, row);
    }
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 39)) {
      e = $e0;
      throw e;
    }
     else if (instanceOf($e0, 19)) {
      t = $e0;
      throw $PuzzleClientImpl$BadPuzzleDataException(new PuzzleClientImpl$BadPuzzleDataException, 'Incorrect grid data', t);
    }
     else 
      throw $e0;
  }
  return this$static;
}

function getClass_146(){
  return Ltps12_axwax_client_PuzzleClient$BarredRectangularGrid_2_classLit;
}

function PuzzleClient$BarredRectangularGrid(){
}

_ = PuzzleClient$BarredRectangularGrid.prototype = new Object_0;
_.getClass$ = getClass_146;
_.typeId$ = 0;
_.height = 0;
_.rows_0 = null;
_.width = 0;
function $PuzzleClient$Cell(this$static, c){
  var $e0, e;
  try {
    this$static.number = ~~Math.max(Math.min($get_2(c, 'number').isNumber().value_0, 2147483647), -2147483648);
    this$static.leftBar = $get_2(c, 'left').isBoolean().value_0;
    this$static.topBar = $get_2(c, 'top').isBoolean().value_0;
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 40)) {
      e = $e0;
      throw $PuzzleClientImpl$BadPuzzleDataException(new PuzzleClientImpl$BadPuzzleDataException, 'Incorrect cell data', e);
    }
     else 
      throw $e0;
  }
  return this$static;
}

function getClass_147(){
  return Ltps12_axwax_client_PuzzleClient$Cell_2_classLit;
}

function PuzzleClient$Cell(){
}

_ = PuzzleClient$Cell.prototype = new Object_0;
_.getClass$ = getClass_147;
_.typeId$ = 83;
_.leftBar = false;
_.number = 0;
_.topBar = false;
function $PuzzleClient$Clue(this$static, c){
  var $e0, e;
  try {
    this$static.number = ~~Math.max(Math.min($get_2(c, 'number').isNumber().value_0, 2147483647), -2147483648);
    this$static.text_0 = $get_2(c, 'text').isString().value_0;
    this$static.format = $get_2(c, 'format').isString().value_0;
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 40)) {
      e = $e0;
      throw $PuzzleClientImpl$BadPuzzleDataException(new PuzzleClientImpl$BadPuzzleDataException, 'Incorrect clue data', e);
    }
     else 
      throw $e0;
  }
  return this$static;
}

function getClass_148(){
  return Ltps12_axwax_client_PuzzleClient$Clue_2_classLit;
}

function PuzzleClient$Clue(){
}

_ = PuzzleClient$Clue.prototype = new Object_0;
_.getClass$ = getClass_148;
_.typeId$ = 84;
_.format = null;
_.number = 0;
_.text_0 = null;
function $PuzzleClient$ClueList(this$static, a){
  var $e0, e, i, t;
  $ArrayList_0(this$static, a.jsArray.length);
  try {
    for (i = 0; i < a.jsArray.length; ++i)
      $add_5(this$static, $PuzzleClient$Clue(new PuzzleClient$Clue, $get_1(a, i).isObject()));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 39)) {
      e = $e0;
      throw e;
    }
     else if (instanceOf($e0, 19)) {
      t = $e0;
      throw $PuzzleClientImpl$BadPuzzleDataException(new PuzzleClientImpl$BadPuzzleDataException, 'Incorrect clue list data', t);
    }
     else 
      throw $e0;
  }
  return this$static;
}

function getClass_149(){
  return Ltps12_axwax_client_PuzzleClient$ClueList_2_classLit;
}

function PuzzleClient$ClueList(){
}

_ = PuzzleClient$ClueList.prototype = new ArrayList;
_.getClass$ = getClass_149;
_.typeId$ = 85;
function $PuzzleClient$Puzzle(this$static, p){
  var $e0, e, t;
  this$static.title = $get_2(p, 'title').isString().value_0;
  this$static.instructions = $get_2(p, 'instructions').isString().value_0;
  this$static.grid = $PuzzleClient$BarredRectangularGrid(new PuzzleClient$BarredRectangularGrid, $get_2(p, 'grid').isArray());
  try {
    this$static.across = $PuzzleClient$ClueList(new PuzzleClient$ClueList, $get_2(p, 'across').isArray());
    this$static.down = $PuzzleClient$ClueList(new PuzzleClient$ClueList, $get_2(p, 'down').isArray());
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 39)) {
      e = $e0;
      throw e;
    }
     else if (instanceOf($e0, 19)) {
      t = $e0;
      throw $PuzzleClientImpl$BadPuzzleDataException(new PuzzleClientImpl$BadPuzzleDataException, 'Bad puzzle data', t);
    }
     else 
      throw $e0;
  }
  this$static.lettersUrl = $get_2(p, 'letters').isString().value_0;
  return this$static;
}

function getClass_150(){
  return Ltps12_axwax_client_PuzzleClient$Puzzle_2_classLit;
}

function PuzzleClient$Puzzle(){
}

_ = PuzzleClient$Puzzle.prototype = new Object_0;
_.getClass$ = getClass_150;
_.typeId$ = 0;
_.across = null;
_.down = null;
_.grid = null;
_.instructions = null;
_.lettersUrl = null;
_.title = null;
function $PuzzleClient$PuzzleDescription(this$static, title, url){
  this$static.title = title;
  this$static.url = url;
  return this$static;
}

function getClass_151(){
  return Ltps12_axwax_client_PuzzleClient$PuzzleDescription_2_classLit;
}

function PuzzleClient$PuzzleDescription(){
}

_ = PuzzleClient$PuzzleDescription.prototype = new Object_0;
_.getClass$ = getClass_151;
_.typeId$ = 86;
_.title = null;
_.url = null;
function $PuzzleClientImpl(this$static){
  this$static.baseUrl = $moduleBase + 'puzzles';
  return this$static;
}

function $getPuzzle(this$static, url, callback){
  var $e0, req;
  req = $RequestBuilder(new RequestBuilder, ($clinit_91() , GET), this$static.baseUrl + url);
  $setHeader(req, 'Accept', 'application/json');
  $setCallback(req, $PuzzleClientImpl$2(new PuzzleClientImpl$2, callback));
  try {
    throwIfNull('callback', req.callback);
    $doSend(req, req.requestData, req.callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, 38))
      throw $e0;
  }
}

function $getPuzzleLetters(this$static, url, callback){
  var $e0, req;
  req = $RequestBuilder(new RequestBuilder, ($clinit_91() , GET), this$static.baseUrl + url);
  $setCallback(req, $PuzzleClientImpl$3(new PuzzleClientImpl$3, callback));
  try {
    throwIfNull('callback', req.callback);
    $doSend(req, req.requestData, req.callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, 38))
      throw $e0;
  }
}

function $getPuzzleList(this$static, callback){
  var $e0, req;
  req = $RequestBuilder(new RequestBuilder, ($clinit_91() , GET), this$static.baseUrl + '/');
  $setHeader(req, 'Accept', 'application/json');
  $setCallback(req, $PuzzleClientImpl$1(new PuzzleClientImpl$1, callback));
  try {
    throwIfNull('callback', req.callback);
    $doSend(req, req.requestData, req.callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, 38))
      throw $e0;
  }
}

function $putPuzzleLetters(this$static, url, letters, callback){
  var $e0, req;
  req = $RequestBuilder(new RequestBuilder, ($clinit_91() , POST), this$static.baseUrl + url);
  $setHeader(req, 'X-HTTP-Method-Override', 'PUT');
  req.requestData = letters;
  $setCallback(req, $PuzzleClientImpl$4(new PuzzleClientImpl$4, callback));
  try {
    throwIfNull('callback', req.callback);
    $doSend(req, req.requestData, req.callback);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, 38)) {
      ($clinit_26() , callback.this$0.display_0.status_0).textContent = 'Bad |';
    }
     else 
      throw $e0;
  }
}

function getClass_152(){
  return Ltps12_axwax_client_PuzzleClientImpl_2_classLit;
}

function PuzzleClientImpl(){
}

_ = PuzzleClientImpl.prototype = new Object_0;
_.getClass$ = getClass_152;
_.typeId$ = 0;
_.baseUrl = null;
function $PuzzleClientImpl$1(this$static, val$callback){
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_153(){
  return Ltps12_axwax_client_PuzzleClientImpl$1_2_classLit;
}

function onError_0(request, exception){
}

function onResponseReceived_0(request, response){
  var a, i, list, o;
  a = parse(response.val$xmlHttpRequest.responseText).isArray();
  if (!a)
    $Throwable(new Throwable, 'Response text did not contain JSON array');
  else {
    list = $ArrayList_0(new ArrayList, a.jsArray.length);
    for (i = 0; i < a.jsArray.length; ++i) {
      o = $get_1(a, i).isObject();
      !!o && $add_5(list, $PuzzleClient$PuzzleDescription(new PuzzleClient$PuzzleDescription, $get_2(o, 'title').isString().value_0, $get_2(o, 'url').isString().value_0));
    }
    $onSuccess_7(this.val$callback, list);
  }
}

function PuzzleClientImpl$1(){
}

_ = PuzzleClientImpl$1.prototype = new Object_0;
_.getClass$ = getClass_153;
_.onError = onError_0;
_.onResponseReceived = onResponseReceived_0;
_.typeId$ = 0;
_.val$callback = null;
function $PuzzleClientImpl$2(this$static, val$callback){
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_154(){
  return Ltps12_axwax_client_PuzzleClientImpl$2_2_classLit;
}

function onError_1(request, exception){
}

function onResponseReceived_1(request, response){
  var $e0, e, o;
  o = parse(response.val$xmlHttpRequest.responseText).isObject();
  if (!o)
    $Throwable(new Throwable, 'Response text did not contain JSON object');
  else {
    try {
      $onSuccess_1(this.val$callback, $PuzzleClient$Puzzle(new PuzzleClient$Puzzle, o));
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (instanceOf($e0, 19)) {
        e = $e0;
        $Throwable_0(new PuzzleClientImpl$BadPuzzleDataException, 'Bad puzzle data', e);
      }
       else 
        throw $e0;
    }
  }
}

function PuzzleClientImpl$2(){
}

_ = PuzzleClientImpl$2.prototype = new Object_0;
_.getClass$ = getClass_154;
_.onError = onError_1;
_.onResponseReceived = onResponseReceived_1;
_.typeId$ = 0;
_.val$callback = null;
function $PuzzleClientImpl$3(this$static, val$callback){
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_155(){
  return Ltps12_axwax_client_PuzzleClientImpl$3_2_classLit;
}

function onError_2(request, exception){
}

function onResponseReceived_2(request, response){
  if (response.val$xmlHttpRequest.status == 200)
    $onSuccess_3(this.val$callback, response.val$xmlHttpRequest.responseText);
  else {
    response.val$xmlHttpRequest.status + '';
    $Exception(new Exception, response.val$xmlHttpRequest.statusText);
  }
}

function PuzzleClientImpl$3(){
}

_ = PuzzleClientImpl$3.prototype = new Object_0;
_.getClass$ = getClass_155;
_.onError = onError_2;
_.onResponseReceived = onResponseReceived_2;
_.typeId$ = 0;
_.val$callback = null;
function $PuzzleClientImpl$4(this$static, val$callback){
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_156(){
  return Ltps12_axwax_client_PuzzleClientImpl$4_2_classLit;
}

function onError_3(request, exception){
  ($clinit_26() , this.val$callback.this$0.display_0.status_0).textContent = 'Bad |';
}

function onResponseReceived_3(request, response){
  if (response.val$xmlHttpRequest.status != 200) {
    response.val$xmlHttpRequest.status + '';
    $onFailure_1(this.val$callback, $Exception(new Exception, response.val$xmlHttpRequest.statusText));
  }
   else {
    ($clinit_26() , this.val$callback.this$0.display_0.status_0).textContent = (($clinit_219() , $clinit_219() , TRUE_0).value_0?'Good |':'Bad |') || '';
  }
}

function PuzzleClientImpl$4(){
}

_ = PuzzleClientImpl$4.prototype = new Object_0;
_.getClass$ = getClass_156;
_.onError = onError_3;
_.onResponseReceived = onResponseReceived_3;
_.typeId$ = 0;
_.val$callback = null;
function $PuzzleClientImpl$BadPuzzleDataException(this$static, message, cause){
  $fillInStackTrace();
  this$static.cause = cause;
  this$static.detailMessage = message;
  return this$static;
}

function getClass_157(){
  return Ltps12_axwax_client_PuzzleClientImpl$BadPuzzleDataException_2_classLit;
}

function PuzzleClientImpl$BadPuzzleDataException(){
}

_ = PuzzleClientImpl$BadPuzzleDataException.prototype = new Exception;
_.getClass$ = getClass_157;
_.typeId$ = 87;
function $SolvePuzzlePresenter(this$static, url, letters, login, client, display){
  this$static.url = url;
  this$static.letters = letters;
  this$static.login = login;
  this$static.client = client;
  this$static.display_0 = display;
  return this$static;
}

function $getLogin(this$static, url, loadPuzzle){
  $login(this$static.login, url, $SolvePuzzlePresenter$1(new SolvePuzzlePresenter$1, this$static, loadPuzzle));
}

function $getPuzzle_0(this$static){
  $getPuzzle(this$static.client, this$static.url, $SolvePuzzlePresenter$2(new SolvePuzzlePresenter$2, this$static));
}

function $go(this$static, container){
  var i;
  $clear_0(container);
  $add_0(container, this$static.display_0);
  this$static.loginUrl = $wnd.location.href;
  i = this$static.loginUrl.indexOf(this$static.url);
  i >= 0 && (this$static.loginUrl = this$static.loginUrl.substr(0, i - 0) + this$static.url);
  $getLogin(this$static, this$static.loginUrl, true);
}

function $keyDownHandler(this$static, puzzle, grid, state, event_0){
  var arrow, lightLimits;
  if (state.selected[0] > -1 && state.selected[1] > -1) {
    arrow = true;
    if ($eventGetKeyCode(($clinit_26() , event_0.nativeEvent)) == 37) {
      state.selected[0] == 0?(state.selected[0] = puzzle.grid.width - 1):--state.selected[0];
    }
     else if ($eventGetKeyCode(event_0.nativeEvent) == 39) {
      state.selected[0] == puzzle.grid.width - 1?(state.selected[0] = 0):++state.selected[0];
    }
     else if ($eventGetKeyCode(event_0.nativeEvent) == 38) {
      state.selected[1] == 0?(state.selected[1] = puzzle.grid.height - 1):--state.selected[1];
    }
     else if ($eventGetKeyCode(event_0.nativeEvent) == 40) {
      state.selected[1] == puzzle.grid.height - 1?(state.selected[1] = 0):++state.selected[1];
    }
     else if ($eventGetKeyCode(event_0.nativeEvent) == 46) {
      arrow = false;
      $setLetter(this$static, puzzle, grid, state.selected[0], state.selected[1], 32);
    }
     else 
      return;
    lightLimits = setLightLimits(puzzle.grid, state.lightDown, state.selected);
    if (arrow) {
      if (lightLimits[0] == lightLimits[1]) {
        state.lightDown = !state.lightDown;
        lightLimits = setLightLimits(puzzle.grid, state.lightDown, state.selected);
      }
    }
     else 
      advanceSelection(state, lightLimits);
    highlightCells(puzzle.grid, grid, state.lightDown, state.selected, lightLimits);
  }
}

function $keyPressHandler(this$static, puzzle, grid, state, c){
  var lightLimits;
  if (null != String.fromCharCode(c).match(/[A-Z]/i)) {
    $setLetter(this$static, puzzle, grid, state.selected[0], state.selected[1], String.fromCharCode(c).toUpperCase().charCodeAt(0));
    lightLimits = setLightLimits(puzzle.grid, state.lightDown, state.selected);
    advanceSelection(state, lightLimits);
    highlightCells(puzzle.grid, grid, state.lightDown, state.selected, lightLimits);
  }
}

function $setLetter(this$static, puzzle, grid, x, y, c){
  ($clinit_26() , dynamicCast(dynamicCast($get_5(grid.spaces, y), 35).get(x), 42).element).textContent = String.fromCharCode(c) + '' || '';
  this$static.loggedIn?$putPuzzleLetters(this$static.client, puzzle.lettersUrl, $getLetters(grid), $SolvePuzzlePresenter$3(new SolvePuzzlePresenter$3, this$static)):$getLogin(this$static, this$static.loginUrl + '&letters=' + $getLetters(grid), false);
}

function advanceSelection(state, lightLimits){
  state.lightDown?state.selected[1] < lightLimits[1]?++state.selected[1]:(state.selected[1] = lightLimits[0]):state.selected[0] < lightLimits[1]?++state.selected[0]:(state.selected[0] = lightLimits[0]);
}

function clueStrings(clues){
  var c, c$iterator, s;
  s = $ArrayList(new ArrayList);
  for (c$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, clues); c$iterator.i < c$iterator.this$0.size_0();) {
    c = dynamicCast($next_5(c$iterator), 41);
    $add_5(s, (c.number > 0?c.number + '. ':'') + c.text_0 + ($equals_1(c.format, '')?'':' (' + c.format + ')'));
  }
  return s;
}

function getClass_158(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter_2_classLit;
}

function gridClickHandler(puzzle, grid, state, target){
  var lightLimits;
  lightLimits = setLightLimits(puzzle, state.lightDown, target);
  if (lightLimits[0] == lightLimits[1]) {
    state.lightDown = !state.lightDown;
    lightLimits = setLightLimits(puzzle, state.lightDown, target);
  }
  highlightCells(puzzle, grid, state.lightDown, target, lightLimits);
}

function highlightCells(puzzle, grid, lightDown, target, lightLimits){
  var light, select, x, y, cell;
  for (x = 0; x < puzzle.width; ++x)
    for (y = 0; y < puzzle.height; ++y) {
      select = x == target[0] && y == target[1];
      light = lightDown?x == target[0] && y >= lightLimits[0] && y <= lightLimits[1]:y == target[1] && x >= lightLimits[0] && x <= lightLimits[1];
      cell = $getWidget(grid.grid, y, x);
      light?setStyleName(cell.element, 'GqwaowmGB', true):setStyleName(cell.element, 'GqwaowmGB', false);
      select?setStyleName(cell.element, 'GqwaowmJB', true):setStyleName(cell.element, 'GqwaowmJB', false);
    }
}

function setAcrossLimits(puzzle, target){
  var i, lightLimits, x, y;
  lightLimits = initValues(_3I_classLit, 0, -1, [2147483647, -2147483648]);
  x = target[0];
  y = target[1];
  for (i = x; i >= 0; --i)
    if (i == 0 || dynamicCast(dynamicCast($get_5(puzzle.rows_0, y), 35).get(i), 43).leftBar) {
      lightLimits[0] = i;
      break;
    }
  for (i = x; i < dynamicCast($get_5(puzzle.rows_0, y), 35).size_0(); ++i)
    if (i == dynamicCast($get_5(puzzle.rows_0, y), 35).size_0() - 1 || dynamicCast(dynamicCast($get_5(puzzle.rows_0, y), 35).get(i + 1), 43).leftBar) {
      lightLimits[1] = i;
      break;
    }
  lightLimits[0] == 2147483647 && (lightLimits[0] = 0);
  lightLimits[1] == -2147483648 && (lightLimits[1] = dynamicCast($get_5(puzzle.rows_0, y), 35).size_0());
  return lightLimits;
}

function setDownLimits(puzzle, target){
  var i, lightLimits, x, y;
  lightLimits = initValues(_3I_classLit, 0, -1, [2147483647, -2147483648]);
  x = target[0];
  y = target[1];
  for (i = y; i >= 0; --i)
    if (i == 0 || dynamicCast(dynamicCast($get_5(puzzle.rows_0, i), 35).get(x), 43).topBar) {
      lightLimits[0] = i;
      break;
    }
  for (i = y; i < puzzle.rows_0.size; ++i)
    if (i == puzzle.rows_0.size - 1 || dynamicCast(dynamicCast($get_5(puzzle.rows_0, i + 1), 35).get(x), 43).topBar) {
      lightLimits[1] = i;
      break;
    }
  lightLimits[0] == 2147483647 && (lightLimits[0] = 0);
  lightLimits[1] == -2147483648 && (lightLimits[1] = puzzle.rows_0.size);
  return lightLimits;
}

function setLightLimits(puzzle, lightDown, target){
  return lightDown?setDownLimits(puzzle, target):setAcrossLimits(puzzle, target);
}

function SolvePuzzlePresenter(){
}

_ = SolvePuzzlePresenter.prototype = new Object_0;
_.getClass$ = getClass_158;
_.typeId$ = 0;
_.client = null;
_.display_0 = null;
_.letters = null;
_.loggedIn = false;
_.login = null;
_.loginUrl = '';
_.url = null;
function $SolvePuzzlePresenter$1(this$static, this$0, val$loadPuzzle){
  this$static.this$0 = this$0;
  this$static.val$loadPuzzle = val$loadPuzzle;
  return this$static;
}

function $onSuccess_0(this$static, result){
  if (result.loggedIn) {
    ($clinit_26() , this$static.this$0.display_0.email).textContent = result.name_0 + ' |' || '';
    $setLogoutUrl(this$static.this$0.display_0, result.url);
    this$static.this$0.loggedIn = true;
  }
   else 
    $setLoginUrl(this$static.this$0.display_0, result.url);
  this$static.val$loadPuzzle && $getPuzzle_0(this$static.this$0);
}

function getClass_159(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$1_2_classLit;
}

function onFailure_0(caught){
}

function onSuccess_0(p0){
  $onSuccess_0(this, p0);
}

function SolvePuzzlePresenter$1(){
}

_ = SolvePuzzlePresenter$1.prototype = new Object_0;
_.getClass$ = getClass_159;
_.onFailure = onFailure_0;
_.onSuccess = onSuccess_0;
_.typeId$ = 0;
_.this$0 = null;
_.val$loadPuzzle = false;
function $SolvePuzzlePresenter$2(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

--></script>
<script><!--
function $onSuccess_1(this$static, result){
  var c, c$iterator, grid, r, r$iterator, state, x, y;
  $setHeader_0(this$static.this$0.display_0, result.title, result.instructions);
  grid = $createGrid(this$static.this$0.display_0, result.grid.width, result.grid.height);
  this$static.this$0.loggedIn?$getPuzzleLetters(this$static.this$0.client, result.lettersUrl, $SolvePuzzlePresenter$2$1(new SolvePuzzlePresenter$2$1, this$static, grid)):$setLetters(grid, this$static.this$0.letters);
  state = $SolvePuzzlePresenter$PuzzleState(new SolvePuzzlePresenter$PuzzleState);
  y = 0;
  for (r$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, result.grid.rows_0); r$iterator.i < r$iterator.this$0.size_0();) {
    r = dynamicCast($next_5(r$iterator), 35);
    x = 0;
    for (c$iterator = r.iterator_0(); c$iterator.hasNext();) {
      c = dynamicCast(c$iterator.next_0(), 43);
      $setCellAppearance(grid, x, y, c.leftBar, c.topBar, c.number);
      ++x;
    }
    ++y;
  }
  $addDomHandler(grid.grid, $SolvePuzzlePresenter$2$2(new SolvePuzzlePresenter$2$2, grid, state, result), ($clinit_42() , $clinit_42() , TYPE));
  $addDomHandler(this$static.this$0.display_0.focus_0, $SolvePuzzlePresenter$2$3(new SolvePuzzlePresenter$2$3, this$static, state, result, grid), ($clinit_67() , $clinit_67() , TYPE_1));
  $addDomHandler(this$static.this$0.display_0.focus_0, $SolvePuzzlePresenter$2$4(new SolvePuzzlePresenter$2$4, this$static, state, result, grid), ($clinit_65() , $clinit_65() , TYPE_0));
  $add_2(this$static.this$0.display_0.clues, $ClueList(new ClueList, 'Across', clueStrings(result.across)));
  $add_2(this$static.this$0.display_0.clues, $ClueList(new ClueList, 'Down', clueStrings(result.down)));
}

function getClass_160(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2_2_classLit;
}

function onFailure_1(caught){
}

function onSuccess_1(p0){
  $onSuccess_1(this, throwClassCastExceptionUnlessNull(p0));
}

function SolvePuzzlePresenter$2(){
}

_ = SolvePuzzlePresenter$2.prototype = new Object_0;
_.getClass$ = getClass_160;
_.onFailure = onFailure_1;
_.onSuccess = onSuccess_1;
_.typeId$ = 0;
_.this$0 = null;
function $SolvePuzzlePresenter$2$1(this$static, this$1, val$grid){
  this$static.this$1 = this$1;
  this$static.val$grid = val$grid;
  return this$static;
}

function $onSuccess_3(this$static, result){
  var c, i, union;
  union = '';
  for (i = 0; i < result.length; ++i) {
    if (i < this$static.this$1.this$0.letters.length) {
      c = this$static.this$1.this$0.letters.charCodeAt(i);
      if (c != 32) {
        union += String.fromCharCode(c);
        continue;
      }
    }
    union += String.fromCharCode(result.charCodeAt(i));
  }
  $setLetters(this$static.val$grid, union);
}

function getClass_161(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$1_2_classLit;
}

function onFailure_2(caught){
}

function onSuccess_2(p0){
  $onSuccess_3(this, throwClassCastExceptionUnlessNull(p0));
}

function SolvePuzzlePresenter$2$1(){
}

_ = SolvePuzzlePresenter$2$1.prototype = new Object_0;
_.getClass$ = getClass_161;
_.onFailure = onFailure_2;
_.onSuccess = onSuccess_2;
_.typeId$ = 0;
_.this$1 = null;
_.val$grid = null;
function $SolvePuzzlePresenter$2$2(this$static, val$grid, val$state, val$result){
  this$static.val$grid = val$grid;
  this$static.val$state = val$state;
  this$static.val$result = val$result;
  return this$static;
}

function getClass_162(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$2_2_classLit;
}

function onClick(event_0){
  var target, target_0;
  target = (target_0 = $getCellForEvent(this.val$grid.grid, event_0) , initValues(_3I_classLit, 0, -1, [target_0.cellIndex, target_0.rowIndex]));
  this.val$state.selected[0] == target[0] && this.val$state.selected[1] == target[1] && (this.val$state.lightDown = !this.val$state.lightDown);
  gridClickHandler(this.val$result.grid, this.val$grid, this.val$state, target);
  this.val$state.selected[0] = target[0];
  this.val$state.selected[1] = target[1];
}

function SolvePuzzlePresenter$2$2(){
}

_ = SolvePuzzlePresenter$2$2.prototype = new Object_0;
_.getClass$ = getClass_162;
_.onClick = onClick;
_.typeId$ = 88;
_.val$grid = null;
_.val$result = null;
_.val$state = null;
function $SolvePuzzlePresenter$2$3(this$static, this$1, val$state, val$result, val$grid){
  this$static.this$1 = this$1;
  this$static.val$state = val$state;
  this$static.val$result = val$result;
  this$static.val$grid = val$grid;
  return this$static;
}

function getClass_163(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$3_2_classLit;
}

function SolvePuzzlePresenter$2$3(){
}

_ = SolvePuzzlePresenter$2$3.prototype = new Object_0;
_.getClass$ = getClass_163;
_.typeId$ = 89;
_.this$1 = null;
_.val$grid = null;
_.val$result = null;
_.val$state = null;
function $SolvePuzzlePresenter$2$4(this$static, this$1, val$state, val$result, val$grid){
  this$static.this$1 = this$1;
  this$static.val$state = val$state;
  this$static.val$result = val$result;
  this$static.val$grid = val$grid;
  return this$static;
}

function getClass_164(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$4_2_classLit;
}

function SolvePuzzlePresenter$2$4(){
}

_ = SolvePuzzlePresenter$2$4.prototype = new Object_0;
_.getClass$ = getClass_164;
_.typeId$ = 90;
_.this$1 = null;
_.val$grid = null;
_.val$result = null;
_.val$state = null;
function $SolvePuzzlePresenter$3(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $onFailure_1(this$static){
  ($clinit_26() , this$static.this$0.display_0.status_0).textContent = 'Bad |';
}

function getClass_165(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$3_2_classLit;
}

function onFailure_3(caught){
  ($clinit_26() , this.this$0.display_0.status_0).textContent = 'Bad |';
}

function onSuccess_3(p0){
  ($clinit_26() , this.this$0.display_0.status_0).textContent = (throwClassCastExceptionUnlessNull(p0).value_0?'Good |':'Bad |') || '';
}

function SolvePuzzlePresenter$3(){
}

_ = SolvePuzzlePresenter$3.prototype = new Object_0;
_.getClass$ = getClass_165;
_.onFailure = onFailure_3;
_.onSuccess = onSuccess_3;
_.typeId$ = 0;
_.this$0 = null;
function $SolvePuzzlePresenter$PuzzleState(this$static){
  this$static.selected = initValues(_3I_classLit, 0, -1, [-1, -1]);
  return this$static;
}

function getClass_166(){
  return Ltps12_axwax_client_presenter_SolvePuzzlePresenter$PuzzleState_2_classLit;
}

function SolvePuzzlePresenter$PuzzleState(){
}

_ = SolvePuzzlePresenter$PuzzleState.prototype = new Object_0;
_.getClass$ = getClass_166;
_.typeId$ = 0;
_.lightDown = false;
function $ClueList(this$static, label, clues){
  var c, c$iterator, h, label_0, panel;
  $setElement(this$static, (!style_4 && (style_4 = new tps12_axwax_client_view_ClueList_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , label_0 = $Label(new Label) , panel = $VerticalPanel(new VerticalPanel) , label_0.element['className'] = 'GqwaowmC GqwaowmB' , $add_3(panel, label_0) , panel.table['cellSpacing'] = 20 , this$static.label = label_0 , this$static.panel = panel , $ensureInjected((!style_4 && (style_4 = new tps12_axwax_client_view_ClueList_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , style_4)) , panel).element);
  ($clinit_26() , this$static.label.element).textContent = label || '';
  for (c$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, clues); c$iterator.i < c$iterator.this$0.size_0();) {
    c = dynamicCast($next_5(c$iterator), 1);
    h = $HTML_0(new HTML, c);
    h.element['className'] = 'GqwaowmC';
    $add_3(this$static.panel, h);
  }
  return this$static;
}

function getClass_167(){
  return Ltps12_axwax_client_view_ClueList_2_classLit;
}

function ClueList(){
}

_ = ClueList.prototype = new Widget;
_.getClass$ = getClass_167;
_.typeId$ = 91;
_.label = null;
_.panel = null;
function $PuzzleGrid(this$static, grid){
  var cell, i, j, space, grid_0;
  this$static.grid = grid;
  $initWidget(this$static, (!style_5 && (style_5 = new tps12_axwax_client_view_PuzzleGrid_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , grid_0 = this$static.grid , grid_0.tableElem['cellSpacing'] = 0 , grid_0.tableElem['cellPadding'] = 0 , $ensureInjected_0((!style_5 && (style_5 = new tps12_axwax_client_view_PuzzleGrid_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , style_5)) , grid_0));
  this$static.spaces = $ArrayList_0(new ArrayList, grid.numRows);
  for (i = 0; i < grid.numRows; ++i) {
    $add_5(this$static.spaces, $ArrayList_0(new ArrayList, grid.numColumns));
    for (j = 0; j < grid.numColumns; ++j) {
      cell = $AbsolutePanel(new AbsolutePanel);
      setStyleName(cell.element, 'GqwaowmBB', true);
      i == grid.numRows - 1 && setStyleName(cell.element, 'GqwaowmAB', true);
      j == grid.numColumns - 1 && setStyleName(cell.element, 'GqwaowmIB', true);
      space = $Label(new Label);
      setStyleName(space.element, 'GqwaowmFB', true);
      $add(cell, space, cell.element);
      dynamicCast($get_5(this$static.spaces, i), 35).add_1(space);
      $setWidget_0(grid, i, j, cell);
    }
  }
  return this$static;
}

function $getLetters(this$static){
  var cell, cell$iterator, res, row, row$iterator, s;
  res = '';
  for (row$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this$static.spaces); row$iterator.i < row$iterator.this$0.size_0();) {
    row = dynamicCast($next_5(row$iterator), 35);
    for (cell$iterator = row.iterator_0(); cell$iterator.hasNext();) {
      cell = dynamicCast(cell$iterator.next_0(), 42);
      s = ($clinit_26() , cell.element).textContent;
      $equals_1(s, '')?(res += ' '):(res += s);
    }
  }
  return res;
}

function $setCellAppearance(this$static, x, y, left, top_0, number){
  var cell, n;
  cell = dynamicCast($getWidget(this$static.grid, y, x), 44);
  left && setStyleName(cell.element, 'GqwaowmCB', true);
  top_0 && setStyleName(cell.element, 'GqwaowmKB', true);
  if (number > 0) {
    n = $Label_0(new Label, '' + number);
    setStyleName(n.element, 'GqwaowmHB', true);
    if (left) {
      setStyleName(n.element, 'GqwaowmEB', true);
      setStyleName(dynamicCast(dynamicCast($get_5(this$static.spaces, y), 35).get(x), 42).element, 'GqwaowmDB', true);
    }
    if (top_0) {
      setStyleName(n.element, 'GqwaowmMB', true);
      setStyleName(dynamicCast(dynamicCast($get_5(this$static.spaces, y), 35).get(x), 42).element, 'GqwaowmLB', true);
    }
    cell.add_0(n);
  }
}

function $setLetters(this$static, value){
  var cell, cell$iterator, i, row, row$iterator;
  i = 0;
  for (row$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, this$static.spaces); row$iterator.i < row$iterator.this$0.size_0();) {
    row = dynamicCast($next_5(row$iterator), 35);
    for (cell$iterator = row.iterator_0(); cell$iterator.hasNext();) {
      cell = dynamicCast(cell$iterator.next_0(), 42);
      if (i >= value.length)
        break;
      ($clinit_26() , cell.element).textContent = value.substr(i, i + 1 - i) || '';
      ++i;
    }
  }
}

function getClass_168(){
  return Ltps12_axwax_client_view_PuzzleGrid_2_classLit;
}

function PuzzleGrid(){
}

_ = PuzzleGrid.prototype = new Composite;
_.getClass$ = getClass_168;
_.typeId$ = 92;
_.grid = null;
_.spaces = null;
function $SolvePuzzle(this$static){
  var attachRecord0, clues, domId0, domId1, domId2, domId2Element, domId3, domId3Element, email, f_HTMLPanel2, f_VerticalPanel1, f_VerticalPanel3, f_VerticalPanel4, focus_0, instructions, login, logout, puzzle, status_0, title;
  $initWidget(this$static, (!style_6 && (style_6 = new tps12_axwax_client_view_SolvePuzzle_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , email = null , domId0 = $createUniqueId($doc) , status_0 = null , domId1 = $createUniqueId($doc) , domId2 = $createUniqueId($doc) , login = $Anchor(new Anchor) , domId3 = $createUniqueId($doc) , logout = $Anchor(new Anchor) , f_HTMLPanel2 = $HTMLPanel(new HTMLPanel, "<div style='float:right'> <span id='" + domId0 + "' style='font-weight:bold'><\/span> <span id='" + domId1 + "'><\/span> <span id='" + domId2 + "'><\/span> <span id='" + domId3 + "'><\/span> <\/div>") , title = $Label(new Label) , instructions = $HTML(new HTML) , f_VerticalPanel4 = $VerticalPanel(new VerticalPanel) , puzzle = $HorizontalPanel(new HorizontalPanel) , clues = $HorizontalPanel(new HorizontalPanel) , f_VerticalPanel3 = $VerticalPanel(new VerticalPanel) , focus_0 = $FocusPanel(new FocusPanel) , f_VerticalPanel1 = $VerticalPanel(new VerticalPanel) , login.element.innerHTML = 'Sign in' , login.element.style.display = 'none' , logout.element.innerHTML = 'Sign out' , logout.element.style.display = 'none' , $add_3(f_VerticalPanel1, f_HTMLPanel2) , title.element['className'] = 'GqwaowmNB GqwaowmOB' , $add_3(f_VerticalPanel4, title) , instructions.element['className'] = 'GqwaowmNB' , $add_3(f_VerticalPanel4, instructions) , f_VerticalPanel4.table['cellSpacing'] = 50 , $add_2(puzzle, f_VerticalPanel4) , $add_3(f_VerticalPanel3, puzzle) , clues.table['cellSpacing'] = 50 , $add_3(f_VerticalPanel3, clues) , f_VerticalPanel3.table['cellSpacing'] = 50 , $add_1(focus_0, f_VerticalPanel3) , focus_0.element.focus() , $add_3(f_VerticalPanel1, focus_0) , f_VerticalPanel1.element.style['width'] = '100%' , attachRecord0 = attachToDom(f_HTMLPanel2.element) , email = $doc.getElementById(domId0) , email.removeAttribute('id') , status_0 = $doc.getElementById(domId1) , status_0.removeAttribute('id') , domId2Element = $doc.getElementById(domId2) , domId3Element = $doc.getElementById(domId3) , attachRecord0.origParent?attachRecord0.origParent.insertBefore(attachRecord0.element, attachRecord0.origSibling):orphan(attachRecord0.element) , $removeFromParent(login) , $add_4(f_HTMLPanel2.children, login) , domId2Element.parentNode.replaceChild(login.element, domId2Element) , $setParent(login, f_HTMLPanel2) , $removeFromParent(logout) , $add_4(f_HTMLPanel2.children, logout) , domId3Element.parentNode.replaceChild(logout.element, domId3Element) , $setParent(logout, f_HTMLPanel2) , this$static.clues = clues , this$static.email = email , this$static.focus_0 = focus_0 , this$static.instructions = instructions , this$static.login = login , this$static.logout = logout , this$static.puzzle = puzzle , this$static.status_0 = status_0 , this$static.title = title , $ensureInjected_1((!style_6 && (style_6 = new tps12_axwax_client_view_SolvePuzzle_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1) , style_6)) , f_VerticalPanel1));
  return this$static;
}

function $createGrid(this$static, width, height){
  var grid;
  grid = $PuzzleGrid(new PuzzleGrid, $Grid_0(new Grid, height, width));
  $add_2(this$static.puzzle, grid);
  return grid;
}

function $setHeader_0(this$static, title, instructions){
  ($clinit_26() , this$static.title.element).textContent = title || '';
  this$static.instructions.element.innerHTML = instructions || '';
}

function $setLoginUrl(this$static, url){
  this$static.logout.element.style.display = 'none';
  this$static.login.element.href = url;
  this$static.login.element.style.display = '';
}

function $setLogoutUrl(this$static, url){
  this$static.login.element.style.display = 'none';
  this$static.logout.element.href = url;
  this$static.logout.element.style.display = '';
}

function getClass_169(){
  return Ltps12_axwax_client_view_SolvePuzzle_2_classLit;
}

function SolvePuzzle(){
}

_ = SolvePuzzle.prototype = new Composite;
_.getClass$ = getClass_169;
_.typeId$ = 93;
_.clues = null;
_.email = null;
_.focus_0 = null;
_.instructions = null;
_.login = null;
_.logout = null;
_.puzzle = null;
_.status_0 = null;
_.title = null;
var style_4 = null;
function $ensureInjected(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    $clinit_37();
    $push_0(toInject, '.GqwaowmC{font-family:serif;}.GqwaowmB{font-variant:small-caps;}');
    schedule();
    return true;
  }
  return false;
}

function getClass_170(){
  return Ltps12_axwax_client_view_tps12_1axwax_1client_1view_1ClueList_1MyUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit;
}

function tps12_axwax_client_view_ClueList_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1(){
}

_ = tps12_axwax_client_view_ClueList_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1.prototype = new Object_0;
_.getClass$ = getClass_170;
_.typeId$ = 0;
_.injected = false;
var style_5 = null;
function $ensureInjected_0(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    $clinit_37();
    $push_0(toInject, '.GqwaowmBB{border-top:1px solid #000;border-left:1px solid #000;height:25px;width:25px;}.GqwaowmKB{border-top:4px solid #000;height:21px;}.GqwaowmCB{border-left:4px solid #000;width:21px;}.GqwaowmIB{border-right:1px solid #000;}.GqwaowmAB{border-bottom:1px solid #000;}.GqwaowmGB{background-color:#ddd;}.GqwaowmJB{background-color:#ff0;}.GqwaowmHB{font-size:8px;position:absolute;left:3px;top:3px;}.GqwaowmMB{top:0;}.GqwaowmEB{left:0;}.GqwaowmFB{font-size:14px;width:25px;position:absolute;top:5px;text-align:center;vertical-align:top;}.GqwaowmLB{top:3px;}.GqwaowmDB{width:21px;}');
    schedule();
    return true;
  }
  return false;
}

function getClass_171(){
  return Ltps12_axwax_client_view_tps12_1axwax_1client_1view_1PuzzleGrid_1MyUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit;
}

function tps12_axwax_client_view_PuzzleGrid_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1(){
}

_ = tps12_axwax_client_view_PuzzleGrid_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1.prototype = new Object_0;
_.getClass$ = getClass_171;
_.typeId$ = 0;
_.injected = false;
var style_6 = null;
function $ensureInjected_1(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    $clinit_37();
    $push_0(toInject, '.GqwaowmNB{font-family:serif;}.GqwaowmOB{font-size:24pt;}');
    schedule();
    return true;
  }
  return false;
}

function getClass_172(){
  return Ltps12_axwax_client_view_tps12_1axwax_1client_1view_1SolvePuzzle_1MyUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit;
}

function tps12_axwax_client_view_SolvePuzzle_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1(){
}

_ = tps12_axwax_client_view_SolvePuzzle_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1.prototype = new Object_0;
_.getClass$ = getClass_172;
_.typeId$ = 0;
_.injected = false;
function $SelectPuzzle(this$static){
  var container, panel, puzzles, select, selectWidgets;
  container = $VerticalPanel(new VerticalPanel);
  $initWidget(this$static, container);
  panel = $VerticalPanel(new VerticalPanel);
  $add_3(container, panel);
  selectWidgets = $HorizontalPanel(new HorizontalPanel);
  $add_3(panel, selectWidgets);
  puzzles = $ListBox(new ListBox);
  select = $Button(new Button);
  ($clinit_26() , select.element).textContent = 'Select';
  $getPuzzleList($PuzzleClientImpl(new PuzzleClientImpl), $SelectPuzzle$1(new SelectPuzzle$1, puzzles));
  $add_2(selectWidgets, puzzles);
  $addDomHandler(select, $SelectPuzzle$2(new SelectPuzzle$2, puzzles), ($clinit_42() , $clinit_42() , TYPE));
  $add_2(selectWidgets, select);
  return this$static;
}

function getClass_173(){
  return Ltps12_axwax_client_widgets_SelectPuzzle_2_classLit;
}

function SelectPuzzle(){
}

_ = SelectPuzzle.prototype = new Composite;
_.getClass$ = getClass_173;
_.typeId$ = 94;
function $SelectPuzzle$1(this$static, val$puzzles){
  this$static.val$puzzles = val$puzzles;
  return this$static;
}

function $onSuccess_7(this$static, result){
  var puzzle, puzzle$iterator;
  ($clinit_26() , this$static.val$puzzles.element).options.length = 0;
  for (puzzle$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl, result); puzzle$iterator.i < puzzle$iterator.this$0.size_0();) {
    puzzle = dynamicCast($next_5(puzzle$iterator), 45);
    $insertItem(this$static.val$puzzles, puzzle.title, puzzle.url, -1);
  }
}

function getClass_174(){
  return Ltps12_axwax_client_widgets_SelectPuzzle$1_2_classLit;
}

function onFailure_4(caught){
}

function onSuccess_4(p0){
  $onSuccess_7(this, throwClassCastExceptionUnlessNull(p0));
}

function SelectPuzzle$1(){
}

_ = SelectPuzzle$1.prototype = new Object_0;
_.getClass$ = getClass_174;
_.onFailure = onFailure_4;
_.onSuccess = onSuccess_4;
_.typeId$ = 0;
_.val$puzzles = null;
function $SelectPuzzle$2(this$static, val$puzzles){
  this$static.val$puzzles = val$puzzles;
  return this$static;
}

function getClass_175(){
  return Ltps12_axwax_client_widgets_SelectPuzzle$2_2_classLit;
}

function onClick_0(event_0){
  $clinit_131();
  newItem('solve=' + $getValue_0(this.val$puzzles, this.val$puzzles.element.selectedIndex), true);
}

function SelectPuzzle$2(){
}

_ = SelectPuzzle$2.prototype = new Object_0;
_.getClass$ = getClass_175;
_.onClick = onClick_0;
_.typeId$ = 95;
_.val$puzzles = null;
function $UploadPuzzle(this$static){
  var form, panel, upload, widgets;
  panel = $VerticalPanel(new VerticalPanel);
  $initWidget(this$static, panel);
  form = $FormPanel(new FormPanel);
  form.element.action = $PuzzleClientImpl(new PuzzleClientImpl).baseUrl;
  $setEncoding(form.element, 'multipart/form-data');
  form.element.method = 'post';
  widgets = $HorizontalPanel(new HorizontalPanel);
  $setWidget(form, widgets);
  upload = $FileUpload(new FileUpload);
  upload.element.name = 'puzzle';
  $add_2(widgets, upload);
  $add_2(widgets, $Button_0(new Button, 'Submit', $UploadPuzzle$1(new UploadPuzzle$1, form)));
  $add_3(panel, form);
  return this$static;
}

function getClass_176(){
  return Ltps12_axwax_client_widgets_UploadPuzzle_2_classLit;
}

function UploadPuzzle(){
}

_ = UploadPuzzle.prototype = new Composite;
_.getClass$ = getClass_176;
_.typeId$ = 96;
function $UploadPuzzle$1(this$static, val$form){
  this$static.val$form = val$form;
  return this$static;
}

function getClass_177(){
  return Ltps12_axwax_client_widgets_UploadPuzzle$1_2_classLit;
}

function onClick_1(event_0){
  $submit_0(this.val$form);
}

function UploadPuzzle$1(){
}

_ = UploadPuzzle$1.prototype = new Object_0;
_.getClass$ = getClass_177;
_.onClick = onClick_1;
_.typeId$ = 97;
_.val$form = null;
var $entry = entry_0;
function gwtOnLoad(errFn, modName, modBase){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      $entry(init)();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    $entry(init)();
  }
}

--></script>
<script><!--
var Ljava_lang_Object_2_classLit = createForClass('java.lang.', 'Object'), Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer'), _3I_classLit = createForArray('', '[I'), Ljava_lang_Throwable_2_classLit = createForClass('java.lang.', 'Throwable'), Ljava_lang_Exception_2_classLit = createForClass('java.lang.', 'Exception'), Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang.', 'RuntimeException'), Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client.', 'Scheduler'), Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl'), Lcom_google_gwt_core_client_impl_SchedulerImpl$1_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$1'), Lcom_google_gwt_core_client_impl_SchedulerImpl$2_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$2'), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang.', 'StackTraceElement'), _3Ljava_lang_StackTraceElement_2_classLit = createForArray('[Ljava.lang.', 'StackTraceElement;'), Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImpl'), Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImplAppend'), Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptException'), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$'), Lcom_google_gwt_dom_client_DOMImpl_2_classLit = createForClass('com.google.gwt.dom.client.', 'DOMImpl'), Lcom_google_gwt_dom_client_DOMImplStandard_2_classLit = createForClass('com.google.gwt.dom.client.', 'DOMImplStandard'), Lcom_google_gwt_dom_client_DOMImplMozilla_2_classLit = createForClass('com.google.gwt.dom.client.', 'DOMImplMozilla'), Ljava_lang_String_2_classLit = createForClass('java.lang.', 'String'), _3Ljava_lang_String_2_classLit = createForArray('[Ljava.lang.', 'String;'), Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$StyleInjectorImpl'), Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$1'), Lcom_google_gwt_event_shared_GwtEvent_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent'), Lcom_google_gwt_event_dom_client_DomEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent'), Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'ClickEvent'), Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent$Type'), Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent$Type'), Lcom_google_gwt_event_dom_client_KeyEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyEvent'), Lcom_google_gwt_event_dom_client_KeyCodeEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyCodeEvent'), Lcom_google_gwt_event_dom_client_KeyDownEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyDownEvent'), Lcom_google_gwt_event_dom_client_KeyPressEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyPressEvent'), Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'PrivateMap'), Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'CloseEvent'), Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ValueChangeEvent'), Lcom_google_gwt_event_shared_DefaultHandlerRegistration_2_classLit = createForClass('com.google.gwt.event.shared.', 'DefaultHandlerRegistration'), Lcom_google_gwt_event_shared_HandlerManager_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager'), Lcom_google_gwt_event_shared_HandlerManager$HandlerRegistry_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager$HandlerRegistry'), Lcom_google_gwt_event_shared_HandlerManager$1_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager$1'), Lcom_google_gwt_http_client_Request_2_classLit = createForClass('com.google.gwt.http.client.', 'Request'), Lcom_google_gwt_http_client_Response_2_classLit = createForClass('com.google.gwt.http.client.', 'Response'), Lcom_google_gwt_http_client_Request$1_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$1'), Lcom_google_gwt_http_client_Request$3_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$3'), Lcom_google_gwt_http_client_RequestBuilder_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder'), Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$Method'), Lcom_google_gwt_http_client_RequestBuilder$1_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$1'), Lcom_google_gwt_http_client_RequestException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestException'), Lcom_google_gwt_http_client_RequestPermissionException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestPermissionException'), Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestTimeoutException'), Lcom_google_gwt_json_client_JSONValue_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONValue'), Lcom_google_gwt_json_client_JSONArray_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONArray'), Lcom_google_gwt_json_client_JSONBoolean_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONBoolean'), Lcom_google_gwt_json_client_JSONException_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONException'), Lcom_google_gwt_json_client_JSONNull_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNull'), Lcom_google_gwt_json_client_JSONNumber_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNumber'), Lcom_google_gwt_json_client_JSONObject_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONObject'), Ljava_util_AbstractCollection_2_classLit = createForClass('java.util.', 'AbstractCollection'), Ljava_util_AbstractSet_2_classLit = createForClass('java.util.', 'AbstractSet'), Lcom_google_gwt_json_client_JSONString_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONString'), Lcom_google_gwt_uibinder_client_UiBinderUtil$TempAttachment_2_classLit = createForClass('com.google.gwt.uibinder.client.', 'UiBinderUtil$TempAttachment'), Lcom_google_gwt_user_client_impl_ElementMapperImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl'), Lcom_google_gwt_user_client_impl_ElementMapperImpl$FreeNode_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl$FreeNode'), Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImpl'), Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplTimer'), Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplMozilla'), Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'UIObject'), Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Widget'), Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Panel'), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel'), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel'), Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusWidget'), Lcom_google_gwt_user_client_ui_Anchor_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Anchor'), _3Ljava_lang_Throwable_2_classLit = createForArray('[Ljava.lang.', 'Throwable;'), Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException'), Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$1'), Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$2'), Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ButtonBase'), Lcom_google_gwt_user_client_ui_Button_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Button'), Lcom_google_gwt_user_client_ui_CellPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel'), Lcom_google_gwt_user_client_ui_Composite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Composite'), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel'), _3Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;'), Lcom_google_gwt_user_client_ui_FileUpload_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FileUpload'), Lcom_google_gwt_user_client_ui_FocusPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusPanel'), Lcom_google_gwt_user_client_ui_FormPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FormPanel'), Lcom_google_gwt_user_client_ui_FormPanel$SubmitCompleteEvent_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FormPanel$SubmitCompleteEvent'), Lcom_google_gwt_user_client_ui_FormPanel$SubmitEvent_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FormPanel$SubmitEvent'), Lcom_google_gwt_user_client_ui_FormPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FormPanel$1'), Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable'), Lcom_google_gwt_user_client_ui_Grid_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Grid'), Lcom_google_gwt_user_client_ui_Label_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Label'), Lcom_google_gwt_user_client_ui_HTML_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTML'), Lcom_google_gwt_user_client_ui_HTMLPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLPanel'), Lcom_google_gwt_user_client_ui_HTMLTable$Cell_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$Cell'), Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$CellFormatter'), Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$ColumnFormatter'), Lcom_google_gwt_user_client_ui_HTMLTable$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$1'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel'), Ljava_util_AbstractList_2_classLit = createForClass('java.util.', 'AbstractList'), Ljava_util_ArrayList_2_classLit = createForClass('java.util.', 'ArrayList'), Lcom_google_gwt_user_client_ui_ListBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListBox'), _3C_classLit = createForArray('', '[C'), Lcom_google_gwt_user_client_ui_RootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$DefaultRootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1'), Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$2'), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1'), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel'), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection'), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator'), Lcom_google_gwt_user_client_CommandCanceledException_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandCanceledException'), Lcom_google_gwt_user_client_CommandExecutor_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor'), Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$CircularIterator'), Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$1'), Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$2'), Lcom_google_gwt_user_client_Timer$1_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer$1'), Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$ClosingEvent'), Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$WindowHandlers'), Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'IndexOutOfBoundsException'), Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang.', 'ArrayStoreException'), Ljava_lang_Boolean_2_classLit = createForClass('java.lang.', 'Boolean'), Ljava_lang_Number_2_classLit = createForClass('java.lang.', 'Number'), Ljava_lang_Class_2_classLit = createForClass('java.lang.', 'Class'), Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang.', 'ClassCastException'), Ljava_lang_Double_2_classLit = createForClass('java.lang.', 'Double'), Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang.', 'IllegalArgumentException'), Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang.', 'IllegalStateException'), Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang.', 'NullPointerException'), Ljava_lang_StringBuffer_2_classLit = createForClass('java.lang.', 'StringBuffer'), Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang.', 'UnsupportedOperationException'), _3Ljava_lang_Object_2_classLit = createForArray('[Ljava.lang.', 'Object;'), Ljava_util_AbstractMap_2_classLit = createForClass('java.util.', 'AbstractMap'), Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util.', 'AbstractHashMap'), Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySet'), Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator'), Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util.', 'AbstractMapEntry'), Ljava_util_AbstractHashMap$MapEntryNull_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull'), Ljava_util_AbstractHashMap$MapEntryString_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryString'), Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$IteratorImpl'), Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util.', 'AbstractMap$1'), Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util.', 'AbstractMap$1$1'), Ljava_util_HashMap_2_classLit = createForClass('java.util.', 'HashMap'), Ljava_util_HashSet_2_classLit = createForClass('java.util.', 'HashSet'), Ljava_util_MapEntryImpl_2_classLit = createForClass('java.util.', 'MapEntryImpl'), Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util.', 'NoSuchElementException'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$PuzzleState_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$PuzzleState'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$1_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$1'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$2'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$1_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$2$1'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$2_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$2$2'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$3_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$2$3'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$2$4_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$2$4'), Ltps12_axwax_client_presenter_SolvePuzzlePresenter$3_2_classLit = createForClass('tps12.axwax.client.presenter.', 'SolvePuzzlePresenter$3'), Ltps12_axwax_client_view_ClueList_2_classLit = createForClass('tps12.axwax.client.view.', 'ClueList'), Ltps12_axwax_client_view_PuzzleGrid_2_classLit = createForClass('tps12.axwax.client.view.', 'PuzzleGrid'), Ltps12_axwax_client_view_SolvePuzzle_2_classLit = createForClass('tps12.axwax.client.view.', 'SolvePuzzle'), Ltps12_axwax_client_view_tps12_1axwax_1client_1view_1ClueList_1MyUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('tps12.axwax.client.view.', 'tps12_axwax_client_view_ClueList_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1'), Ltps12_axwax_client_view_tps12_1axwax_1client_1view_1PuzzleGrid_1MyUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('tps12.axwax.client.view.', 'tps12_axwax_client_view_PuzzleGrid_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1'), Ltps12_axwax_client_view_tps12_1axwax_1client_1view_1SolvePuzzle_1MyUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('tps12.axwax.client.view.', 'tps12_axwax_client_view_SolvePuzzle_MyUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1'), Ltps12_axwax_client_widgets_SelectPuzzle_2_classLit = createForClass('tps12.axwax.client.widgets.', 'SelectPuzzle'), Ltps12_axwax_client_widgets_SelectPuzzle$1_2_classLit = createForClass('tps12.axwax.client.widgets.', 'SelectPuzzle$1'), Ltps12_axwax_client_widgets_SelectPuzzle$2_2_classLit = createForClass('tps12.axwax.client.widgets.', 'SelectPuzzle$2'), Ltps12_axwax_client_widgets_UploadPuzzle_2_classLit = createForClass('tps12.axwax.client.widgets.', 'UploadPuzzle'), Ltps12_axwax_client_widgets_UploadPuzzle$1_2_classLit = createForClass('tps12.axwax.client.widgets.', 'UploadPuzzle$1'), Ltps12_axwax_client_AxWaxUI$1_2_classLit = createForClass('tps12.axwax.client.', 'AxWaxUI$1'), Ltps12_axwax_client_AxWaxUI$2_2_classLit = createForClass('tps12.axwax.client.', 'AxWaxUI$2'), Ltps12_axwax_client_LoginClientImpl_2_classLit = createForClass('tps12.axwax.client.', 'LoginClientImpl'), Ltps12_axwax_client_LoginClientImpl$LoginResults_2_classLit = createForClass('tps12.axwax.client.', 'LoginClientImpl$LoginResults'), Ltps12_axwax_client_LoginClientImpl$1_2_classLit = createForClass('tps12.axwax.client.', 'LoginClientImpl$1'), Ltps12_axwax_client_PuzzleClient$PuzzleDescription_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClient$PuzzleDescription'), Ltps12_axwax_client_PuzzleClient$Cell_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClient$Cell'), Ltps12_axwax_client_PuzzleClient$BarredRectangularGrid_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClient$BarredRectangularGrid'), Ltps12_axwax_client_PuzzleClient$Clue_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClient$Clue'), Ltps12_axwax_client_PuzzleClient$ClueList_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClient$ClueList'), Ltps12_axwax_client_PuzzleClient$Puzzle_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClient$Puzzle'), Ltps12_axwax_client_PuzzleClientImpl_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClientImpl'), Ltps12_axwax_client_PuzzleClientImpl$BadPuzzleDataException_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClientImpl$BadPuzzleDataException'), Ltps12_axwax_client_PuzzleClientImpl$1_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClientImpl$1'), Ltps12_axwax_client_PuzzleClientImpl$2_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClientImpl$2'), Ltps12_axwax_client_PuzzleClientImpl$3_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClientImpl$3'), Ltps12_axwax_client_PuzzleClientImpl$4_2_classLit = createForClass('tps12.axwax.client.', 'PuzzleClientImpl$4');
$stats && $stats({moduleName:'axwax',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});
if ($wnd.axwax) $wnd.axwax.onScriptLoad();
--></script></body></html>
